yubb.de-Logo
Tutorials
yubb@yubb
yubbService
Inside yubb

Fremdverlinkung bei Bildern verhindern

Mit diesen htaccess-Zeilen kann man verhindern, dass eigene Bilder auf fremden Seiten verlinkt werden.

Viele Seiten machen Verluste, weil ihre Bilder von anderen Seiten eingebunden werden. Somit zahlt der Besitzer der Bilder den Traffic für die Einbindung auf fremden Seiten, was selten erwünscht ist.

Um dies zu verhindern, hat man zwei Möglichkeiten: Entweder man bindet eine andere Grafik ein ala "Dieses Bild wurde fremdverlinkt!". Da zahlt man aber immer noch den Traffic fürs Übertragen dieses Bildes. Andere Möglichkeit ist es, statt des gewünschten Bildes einfach kein Bild auszuliefern und so z.B. im Internet Explorer das hässliche rote X hervor zu rufen.
Vorraussetzung dafür ist aber das aktivierte Apache-Modul "mod_rewrite". Zu diesem Thema lies bitte folgendes Tutorial. Im Folgenden wird nicht die Funktionsweise von mod_rewrite erklärt. Dafür ist das eben verlinkte Tutorial da.

Um ein anderes Bild einzublenden, füge deiner .htaccess-Datei folgende Zeilen hinzu:
Code:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.de(/.*)?$ [NC]
RewriteRule \.(gif|jpg|png|jpeg|GIF|JPG|PNG|JPEG)$ http://www.domain.de/ersatz.gif [R,L]


Die Ansätze kennst du ja schon. Das Auslesen der Bilder funktioniert mit Auslesen der Browserinformationen: Es wird ermittelt, von welcher Seite die Grafik aufgerufen wurde. Wenn eine solche Information vorhanden ist (2. Zeile) und die Infomation nicht deiner Adresse übereinstimmt (3. Zeile, die Domain musst du anpassen), so wird das Bild ersetzt (4. Zeile).
Hier wird also geprüft, ob das Bild von www.domain.de aufgerufen wurde. Ist dies nicht der Fall, wird nicht das ursprüngliche Bild angezeigt, sondern das unter http://www.domain.de/ersatz.gif .

Möchstest du stattdessen lieber gar kein Bild senden, so benutze folgenden Code:
Code:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.de(/.*)?$ [NC]
RewriteRule \.(gif|jpg|png|jpeg|GIF|JPG|PNG|JPEG)$ - [F]


Hier gilt exakt das gleiche, wie oben beschrieben. Jedoch mit dem Unterschied, dass gar kein Bild gesendet wird (genauer ein Bild mit dem Adressnamen "-"). So entsteht kein Traffic für dich und beim Fremdverlinker kommt kein Bild an.

Geschrieben von Phil Marx am 18.06.2004 (14276x gelesen)
weiterempfehlen weiterempfehlen   Druckversion Druckversion   kommentieren kommentieren

cool!

Du solltest mal darüber nachdenken ein .htacces Bereich im Forum einzurichten ;o)
Geschrieben von michi
cool, funktioniert das auch mit anderen mimetypen wie z.b. zip oder exe? wenn nicht, wie kann man sich bei diesen dateiformaten vor direktverlinkung schützen?
Geschrieben von rob
Ich hab das Verzeichnis, indem die Dateien liegen, mit deny from all geschüzt. Um die datei runterzuladen, wird ein Script aufgerufen, indem der klick gezählt wird, und eine session gestartet. Danach wird auf eine Zweite seite weitergeleitet, wo geprüft wird, ob die session gestartet wurde, wenn ja wird die Datei mit readfile und einige headern gedownloadet. klappt wunderbar.

Super Tutorial, lad die htacces datei gleich mal in mein bilder verzeichnis
Geschrieben von @rob
Falls man mehrere Domains oder Sub-Domains hat, möchte man diese ja nicht ausschließen. Also kann man das so lösen:

RewriteCond %{HTTP_REFERER} !^http://(www.)?(webmail.|orga.|url.|wap.)?(chatter-online.com|ct-planer.de|flirtfruit.de|62.75.252.160)(/.*)?$ [NC]
Geschrieben von AD
Klasse Sache!
Nur leider funktioniert es bei mir nicht, ein anderes "Ersatz-Bild" anzuzeigen. Gibt es da noch eine Alternative?

Gruß,
Kai
Geschrieben von Kai H.
Gibt's auch eine Möglichkeit, bestimmte Ordner einer Webseite (In meinem Fall einen Ordner mit Bannergrafiken) von diesem Schutz auszunehmen? Ich würde gerne meine Layoutdateien schützen, die Banner aber an verschiedene andere Seiten ausliefern
Geschrieben von Elvis