Schlagwort „Hotlinking“

Beiträge

,

Hotlinking verhindern und alternatives Bild ausgeben

Beim Hotlinking verwendet ein Nutzer die exakte URL zu einem Bild auf eurem Server, um dieses direkt auf der eigenen Seite, in einem Forum oder an anderer Stelle einzubinden. Leider wird das Bild bei jedem neuen Aufruf von eurem Server geladen, was abhängig von der Besucherzahl zu hohem Traffic führen kann.

Im Klartext bedeutet das nichts anderes, als das der Server gestresst wird und euch u.U. beim Erreichen des Trafficlimits sogar Kosten durch den Hoster entstehen.

Eine einfache Lösung Hotlinking zu unterbinden lässt sich über mod_rewrite in eurer htaccess Datei realisieren.

Optional könnt ihr auch ein alternatives Bild anzeigen, welches auf das Problem aufmerksam macht.

Hierzu kopiert ihr einfach folgenden Code in htaccess Datei und ersetzt die URL tradino-shop.de durch eure eigenen.

1
2
3
4
5
6
7
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?tradino-shop\.de(/.*)?$ [NC]
RewriteCond %{HTTP_REFERER} !^https://www\.google\..*$ [NC]
RewriteCond %{HTTP_REFERER} !^https://www\.bing\..*$ [NC]
RewriteCond %{REQUEST_URI} !^.*alternatives-bild\.png$ [NC]
RewriteRule \.(gif|jpg|GIF|JPG|png|PNG)$ https://tradino-shop.de/alternatives-bild.png [R,L]

Erläuterung der htaccess-Datei
Nach Aktivierung der Apache ReWrite-Engine, die für sämtliche Umleitungen von Anfragen zuständig ist, wird zunächst in Zeile 2 geprüft, ob es überhaupt einen Referrer gibt.

Ab Zeile 4 werden folgenden Konditionen abgefragt:

  • ist es nicht meine eigene Seite (hier exemplarisch tradino-shop.de), die das Bild anzeigen möchte
  • sind es nicht Google oder Bing, die das Bild in der Bildersuche anzeigen möchten
  • ist es nicht mein alternatives Bild

Treffen alle Konditionen zu, greift die RewriteRule in Zeile 7 und es wird das Bild „alternatives-bild.png“ unter der angegebenen URL (hier https://tradino-shop.de/alternatives-bild.png) ausgegeben.

Neben Google und Bing weitere Dienste erlauben
Sollen neben Google und Bing weitere Dienste zugelassen werden, könnt ihr die htaccess einfach um die entsprechenden Conditions erweitern.

Code Beispiel um auch Pinterest den Zugang zu gewähren:

1
2
3
4
5
6
7
8
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?tradino-shop\.de(/.*)?$ [NC]
RewriteCond %{HTTP_REFERER} !^https://pinterest\.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^https://www\.google\..*$ [NC]
RewriteCond %{HTTP_REFERER} !^https://www\.bing\..*$ [NC]
RewriteCond %{REQUEST_URI} !^.*alternatives-bild\.png$ [NC]
RewriteRule \.(gif|jpg|GIF|JPG|png|PNG)$ https://tradino-shop.de/alternatives-bild.png [R,L]

Bei Fragen helfen wir euch natürlich gerne weiter.