Nochmal zum Thema leere Referer: Ich habe heute festgestellt, dass die obigen Methoden (sowohl meine VHost-Methode als auch jottliebs mit .htaccess) mit neueren Apache-Versionen nicht ganz funktionieren. Zumindest auf meinem Server ist das so.
Und zwar interpretiert der neuere Apache den Ausdruck
nicht als leeren Referrer, sondern es muss stattdessen lauten:
Daher müssen die obigen Beispiele wiefolgt lauten:
VHost:
SetEnvIfNoCase Referer "^http://www.example.com/" local_ref=1
[COLOR="#8b0000"]SetEnvIfNoCase Referer "^-$" local_ref=1[/COLOR]
<FilesMatch ".(gif|jpg|png|bmp)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
.htaccess:
RewriteEngine on
[COLOR="DarkRed"]RewriteCond %{HTTP_REFERER} !^-$[/COLOR]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain2\.de(/.*)?$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain1\.de(/.*)?$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.de\.de(/.*)?$ [NC]
RewriteRule \.(jpg|JPG)$ - [F]
Habe es mit beiden Methoden probiert, und es funktioniert gut.
Zum Test:
http://www.contutto.com/
http://www.contutto.com/wp-content/plu…ot_flags/de.png :twisted:
Der damalige Apache war übrigens 2.0.54 oder sowas in dem Dreh, mein aktueller ist 2.0.59.
Hoffe, das hilft dem einen oder anderen.