Wie kann ich meine Bilder vor Direktverlinkung schützen?
Mithilfe einer .htaccess-Datei und mod_rewrite können Sie in Ihrem Web verwendete Bilder davor schützen, dass Sie direkt von anderen Seiten verlinkt werden. Diese Methode kann auch auf andere Dateitypen (Endungen) angewendet werden.
Das Verfahren verwendet den sogenannten HTTP-Referer, um zu prüfen, ob das Bild von der angegebenen Domain aufgerufen wird. Ist dies nicht der Fall, wird das Alternativbild angezeigt.
Manche "Internet Sicherheit" Programme löschen den Referer im Dialog mit dem Webserver.
Benutzer, die solche Programme verwenden, bekommen die Bilder Ihrer Website dann möglicherweise nicht korrekt angezeigt.
Beispiel mit einer Ersatzgrafik
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?ihredomain.de(/.*)?$ [NC]
RewriteRule .(gif|jpg|jpeg|png|GIF|JPG|JPEG|PNG)$ http://www.ihredomain.de/images/ersatz.gif [R,L]
Mit diesen Einträgen in der .htaccess-Datei werden alle Anfragen an Bilder (gif-, jpg-, jpeg- und png-Bilder), die nicht von der Domain ihredomain.de kommen, auf http://www.ihredomain.de/images/ersatz.gif umgeleitet. In den runden Klammern der letzten Zeile stehen die Dateiendungen die umgeleitet werden sollen - diese lassen sich wie eingangs erwähnt natürlich auch auf andere Dateiendungen anpassen.
Wenn Sie die obigen Zeilen verwenden, ändern Sie bitte unbedingt das Fettgedruckte in die entsprechenden Werte, die zu Ihrem Web passen, da der Bildschutz sonst nicht funktioniert.
Beispiel mit Prüfung mehrerer Domains
Wenn Sie mehrere Domains (Domain Pointings) in dem Web verwenden, können Sie die Überprüfung natürlich auch erweitern - oder sogar ausgewählten externen Seiten erlauben, Ihre Bilder direkt zu verlinken:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?ihredomain.de(/.*)?$ [NC,OR]
RewriteCond %{HTTP_REFERER} !^http://(www.)?zweiteseite.de(/.*)?$ [NC]
RewriteRule .(gif|jpg|jpeg|png|GIF|JPG|JPEG|PNG)$ http://www.ihredomain.de/images/ersatz.gif [R,L]
Beispiel mit Nichtanzeige des Bildes
Sicher kennen Sie das kleine rote Kreuz auf HTML-Seiten, wenn ein Bild nicht verfügbar ist. Dieses Verhalten kann ebenfalls simuliert werden (technisch gesehen wird ein 403-Forbidden-Fehler generiert):
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?ihredomain.de(/.*)?$ [NC]
RewriteRule .(gif|jpg|jpeg|png|GIF|JPG|JPEG|PNG)$ - [F]
Beispiel, wenn ein PHP-Skript zur Bildanzeige verwendet wird
In manchen Fällen wird einem PHP-Skript ein Parameter übergeben, der z.B. den Dateinamen oder einen Index enthält. Je nach Parameter zeigt das Skript dann ein entsprechendes Bild an. Die oben verwendete Methode können Sie auch hier anwenden. Passen Sie dazu folgendes Beispiel an.
bildanzeige.php ist hier das Skript, welches die Bilder anzeigt - dieser Name muss entsprechend angepasst werden.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?ihredomain.de(/.*)?$ [NC]
RewriteRule ^bildanzeige.php http://www.ihredomain.de/images/ersatz.gif [R,L]
Vorlage für Ersatzgrafik
Wenn Sie keine eigene Ersatzgrafik erstellen können oder möchten, können Sie folgende Vorlage herunterladen und in Ihr Web kopieren: