Hotlinking-Problematik im Allgemeinen

Zuerst fing das Hotlinking auf meinem Server mit Jappy an. Dort wurde in den Gästebüchern oftmals eine Grafik von mir per Hotlinking eingefügt. Darauf habe reagiert und jeden Bildaufruf mit entsprechendem Jappy-Referrer zu einem Bandweitesparenden häßlichen PNG mit Botschaft umgeleitet. Nun kommen da ab und zu natürlich auch noch andere Domains hinzu, so daß ich mich einmal zu einer Generallösung genötigt sah.

Gesucht und und gefunden. Ein kleines PHP-Skript was ein Bild über das aufgerufene Bild legt. Das können z.B. Botschaften sein. Das Endresultat sieht dann z.B. so aus. Nun sieht meine _htaccess_ wie folgt aus

`# Explizit blocken! Die bekommen ein häßliches Bild

RewriteCond %{HTTP_REFERER} ^http://(www.)?jappy.de(/)?.*$ [NC,OR]

RewriteCond %{HTTP_REFERER} ^http://(www.)?kwick.de(/)?.*$ [NC,OR]

RewriteCond %{HTTP_REFERER} ^http://(www.)?ktosexy.de(/)?.*$ [NC,OR]

RewriteCond %{HTTP_REFERER} ^http://(www.)?team-ulm.de(/)?.*$ [NC]

RewriteRule .*.(gif|jpg|jpeg|bmp)$ /images/hotlinkingsucks.png[R,NC]`

`# Die hier bekommen Bilder mit Watermarks

RewriteCond %{HTTP_REFERER} !^$

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

RewriteCond %{HTTP_USER_AGENT} !(Googlebot-Image|msnbot|psbot|yahoo-mmcrawler|Googlebot) [NC]

RewriteRule 1 /watermark.php?src=$1 [L]`

Sehr easy erweiterbar, lediglich im ersten Abschnitt darauf achten daß der letzte Eintrag ohne "OR" erfolgen muß, also ohne _oder-Verknüpfung_. Im unteren Abschnitt können noch beliebige weitere User-Agents eingetragen werden, die dann die Bilder natürlich ohne Watermark zu sehen bekommen.

Alle im ersten Absatz bekommen die Hotlinking-Grafik. Alle leeren Referrer und samthammel.de-Referrer bekommen die normalen Bilder, alle anderen Domains sehen eine Version mit Watermark. Gefällt mir. :-)


  1. .*.(bmp|gif|jpeg|jpg)$