Brombeermilchtrinker: Schutz vor Hotlinking per htaccess

Beitrag lesen

Hallo Forum,

auf BananaJoe.de habe ich einen Beispiel gefunden, wie man per .htaccess-Datei Bilder vor Hotlinking schützen kann und dies entsprechend meiner URL umgeschrieben.

<FilesMatch ".(gif|jpe?g|png|bmp|pdf|zip|rar|mp3|js)$">
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?example.org/.*$ [NC]
RewriteCond %{REQUEST_FILENAME} !dieb.gif$
RewriteRule .*.(gif|jpe?g|png|bmp|pdf|zip|rar|mp3|js)$ http://www.example.org/dieb.gif [R]
</FilesMatch>

Das Ganze funktioniert wunderbar. Jeder Aufruf zB.einer .gif- oder .png-Datei, die _nicht_ von www.example.org kommt, bewirkt eine Ausgabe des "dieb.gif"-Bildes.

Jetzt möchte ich aber auch der Domain "example.net" die _volle_ Erlaubnis für den Request all dieser Dateiformate geben. Wenn ich einfach eine 2. RewriteCond Zeile schreibe,

RewriteCond %{HTTP_REFERER} !^http://(www.)?example.org/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www.)?example.net/.*$ [NC]

dann führt das dazu, dass _jede_ Domain all die Dateitypen aufrufen kann. Also so, als ob ich die .htaccess-Datei gar nicht hätte.

Schreibe ich statt dem [NC] ein [NC,OR], so, wie ich es auf anderen Tutorialseiten gesehen habe,

RewriteCond %{HTTP_REFERER} !^http://(www.)?example.org/.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} !^http://(www.)?example.net/.*$ [NC,OR]

dann kommt es _nie_ zur Ausgabe einer Datei, egal, von welcher Domain aus der Aufruf erfolgt. Es kommt aber auch nicht zur Ausgabe von "dieb.gif". Es wird einfach _nichts_ angezeigt.

Kann mir bitte wer darstellen, wie ich meinen ursprünglichen Teil der .htaccess-Datei verändern muß, damit sowohl von example.org, _als auch_ von example.net der Aufruf erfolgen darf und der Request von allen anderen Domains mit dem "dieb.gif"-Bild "beantwortet" wird?

MfG

Der Brombeermilchtrinker