Das Putzlowitsch Test- und SEO-Blog

Meine technische Bilder-Hotlink Abwehrstrategie

Heiße Links

Hotlink Infografik

Martin Mißfeldt vom Tagseo-Blog hat gerade einen Artikel zum leidigen Thema Bilder-Hotlinks veröffentlicht. Dort erklärt er noch einmal recht anschaulich, was Hotlinks sind, wie sie funktionieren und wie Google damit umgeht.

Auch ich habe mich schon öfter mit dem Thema beschäftigt.

Zur technischen „Abwehr“ von Hotlinks gibt es einige Möglichkeiten, die ich im Artikel „Bilderdiebe – was ich dagegen tue“ bereits erläutert habe. Im wesentlichen habe ich das auch so beibehalten, technisch nur etwas verfeinert.

Bilder-Hotlink Abwehr

Ich fahre eine Black-List Strategie, daß heißt, Hotlinks werden nur von bestimmten Domains mit einem Ersatzbild behandelt.

So sieht der entsprechende Code z.Z. in der .htaccess-Datei aus.

# Bilderdieb
RewriteCond	%{HTTP_REFERER}	^https?://(([^\.]+?\.)?([^\.]+?\.)?[^\.]+?)/ [NC]
RewriteRule	.* - [E=DOM_REFERER:%1]
RewriteCond	%{REQUEST_FILENAME} -f
RewriteCond	%{REQUEST_URI}	!^/images/ersatzbild.png$
RewriteRule	\.(jpg|gif|png)$	-	[NC,C]
RewriteCond	%{ENV:DOM_REFERER}	\.tk$ [NC,OR]
RewriteCond	%{ENV:DOM_REFERER}	\.xyz$ [NC,OR]
RewriteCond	%{ENV:DOM_REFERER}	\.cf$ [NC,OR]
RewriteCond	%{ENV:DOM_REFERER}	mydealz\.de$ [NC,OR]
RewriteCond	%{ENV:DOM_REFERER}	example\.com
RewriteRule	.	/images/ersatzbild.png	[T=image/png,L]

Da ich in erster Linie bestimmte Domains (auch TLDs) ausschließen will, extrahiere ich zunächst den Domain-Namen aus dem Referrer und speichere ihn in einer Umgebungsvariable (Zeile 1 und 2).

Nur wenn es das Bild gibt (Zeile 3), es nicht das Ersatzbild ist (Zeile 4) und es überhaupt ein Bild ist (Zeile 5), werden die nachfolgenden Regeln abgearbeitet.

Es folgt die Liste der nicht erlaubten Domains bzw. Top-Level-Domains (TLD). Da der massive Hotlink-Spam zur Zeit vorzugsweise von .tk, .xyz und .cf TLDs kommt, stehen diese in der List. Die Domain mydealz.de habe ich nur zu Testzwecken aufgenommen. So kann ich sehen, ob meine Hotlink-Abwehr funktioniert. :-)

In der letzten Zeile wird dann das Ersatzbild ausgeliefert. Hier wird der Bildtyp auf png geändert, weil mein Ersatzbild ein PNG-Bild ist.

Der Haken an der Sache

Die Sache hat nur einen Haken. Die großen Hotlink-Farmen interessiert es nicht, was da letztendlich für Bilder auf ihren Spam-Seiten angezeigt werden. Ich vermute, daß die Seiten automatisch oder teilautomatisch aus den Bildern der Bildersuchergebnisse erstellt werde. Insofern bringt hier die „Abwehr“ per .htaccess herzlich wenig.

Aber egal, falls dann doch mal jemand auf die Spam-Seite kommt, sieht derjenige wnigstens nicht meine Bilder und es sieht mit dem Ersatzbild zumindet komisch aus. :-)

Hotlinks mit der Google Bildersuche finden

Mit einigen Abfrage-Parametern kann man mit der Google-Bildersuche Hotlinks auf Bilder finden.

Für die Bildersuche ergibt die Kombination

inurl:http://seite-a.de -site:seite-a.de

Treffer mit einem Bild von Seite A, welches nicht auf Seite A zu sehen ist. Das ist bei Hotlinks und Links der Fall.

Man kann aber auch gezielt nach Hotlinks von einer bestimmten Seite suchen:

inurl:http://seite-a.de site:seite-b.de

Damit werden Bilder von Seite A angezeigt, die von Seite B gehotlinkt bzw. gelinkt werden.

Für eine schnellere Übersicht könnte man die Ausgabe auf das alte Layout mit dem Parameter sout=1 erzwingen, zudem liefert die Abfrage in Abhängigkeit von der Sprache und den SafeSearch-Einstellungen bisweilen andere Ergebnisse.

Damit ihr euch die kompliziert Abfrage nicht per Hand zusammenbasteln müßt, habe ich ein Formular mit etwas Javascript drum herum erstellt. Damit kann die Hotlinksuche bequem erstellt werden.

Das Hotlink-Suchformular

Damit das Formular sichtbar ist und funktioniert, muß Javascript aktiviert sein.

In Domain kommt die Ursprungsseite der Bilder, falls es eine Subdomain ist, muß diese mit angegeben werden (z.B. images.seite-a.de).

Bei Weitere Seiten kommen die mit Leerzeichen getrennten Namen von Seiten rein, für die mit (●) ausschließen keine Hotlinks angezeigt werden sollen. Ist (●) einschließen ausgewählt, wird die Logik umgedreht. Es werden dann nur Hotlinks von den angegebenen Seiten angezeigt.

Die Optionen sind selbsterklärend, würde ich sagen.

Auf [Los] gehts los. Es wird ein neues Browserfenster mit der erstellten Google-Suche geöffnet. Falls das Fensteröffnen in den Browsereinstellungen nicht erlaubt ist, kann auch der links eingeblendete Link „Hotlinks finden“ angeklickt werden.

Ich will auch einen wesentlichen Nachteil der inurl:-Suche gegenüber der imagesite:-Suche nicht verschweigen. Die site:– bzw. frühere imagesite:-Abfrage beziehen sich tatsächlich auf den Domainnamen der Seite. Die inurl:-Abfrage ist da, wie der Name auch erwarten läßt, deutlich größzügiger.

Die Abfrage

inurl:http://seite-a.de

findet auch Bilder wie z.B.

http://seite-b.de/screenshot/?s=http://seite-a.de

Das ist natürlich kein Hotlink oder Link zur Ursprungsseite. Aber solche Treffer muß man dann einfach ignorieren.

Und was macht Ihr so gegen Hotlinks, wenn Ihr sie gefunden habt?

5 Kommentare »