Artikel Datenbank
Computer - Internet - Multimedia
FAQ
Suchen
Mitgliederliste
Benutzergruppen
Registrieren
Profil
Einloggen, um private Nachrichten zu lesen
Login
Artikel Datenbank Foren-Übersicht
->
Webpage Design
Antwort schreiben
Benutzername
Titel
Nachrichtentext
Smilies
Weitere Smilies ansehen
Schriftfarbe:
Standard
Dunkelrot
Rot
Orange
Braun
Gelb
Grün
Oliv
Cyan
Blau
Dunkelblau
Indigo
Violett
Weiß
Schwarz
Schriftgröße:
Schriftgröße
Winzig
Klein
Normal
Groß
Riesig
Tags schließen
Optionen
HTML ist
an
BBCode
ist
an
Smilies sind
an
HTML in diesem Beitrag deaktivieren
BBCode in diesem Beitrag deaktivieren
Smilies in diesem Beitrag deaktivieren
Alle Zeiten sind GMT
Gehe zu:
Forum auswählen
Allgemeine Informationen zu dieser Webseite
----------------
Impressum
Allgemeine Informationen
Neue Themen und Änderungen
Computerthemen
----------------
Netzwerke
Windows Betriebssysteme
Daten schützen, verschlüsseln, verstecken und vernichten
Datensicherung und Systemsicherheit
Windows Spielereien
PC-Tools
PC Virtualisierung
Internet
----------------
Webpage Design
Email
Browser
Multimedia
----------------
Audio
Video
Bildbearbeitung
Media Recording
Video und Audio Streaming
Analoge und digitale Fotografie
Applikationen
----------------
MS Office
Corel Draw
Adobe Photoshop Elements
PDF Applicationen
Software & Scripts
----------------
Java Script und Flash für die Homepage
Software Empfehlungen
----------------
Freeware
Plugins
Vollversionen
Was wirklich nervt
----------------
Dumme Werbung
Böse Erfahrungen im Internet
----------------
Discounter
Thema-Überblick
Autor
Nachricht
GrayGhost
Verfasst am: 07.06.2007, 08:45
Titel: Bilderklau auf Webseiten verhindern
Bilderklau (Leeching) verhindern
Schlüsselworte:
bilder, bilderklau, leeching, verlinkung, hot link, deep link, bilder schutz, bilder schützen, links verbieten, traffic diebstahl, hotlink
Hey! Das gehört mir!!!
Viele Webseitenbetreiber sind sich der Problematik des sogenannten "hotlinkings" bewußt. Diese "hotlinkers" werden im Fachjargon auch "Leechers" genannt. Das sind, einfach ausgedrückt "Traffic-Diebe" die Bilder anderer Webseiten in ihre eigenen Seiten per Link einfügen.
All jenen, die keine Transferbeschränkung haben und nicht den Transfer per Gigabyte abrechnen müssen, könnte das ja egal sein. Für andere Sites kann dieses aber schon zum Ärgernis werden. Ganz abgesehen von der Tatsache, dass die eigenen Bilder auf anderen Webseiten dargestellt werden und die gewünschten Besucher auf der eigenen Seite ausbleiben, kann der Traffic bei einer Bildergalerie schnell ausufern, wenn die "hotlinkende" Seite viele Besucher hat. Nimm nur mal ein 100kbyte großes Bild welches auf einer Seite präsentiert wird, welches 1000 hits pro Tag hat. Da kommen schon 100 Mbyte zusammen, die du bezahlen musst ohne das nur ein Besucher auf deiner Seite war.
Wer also mit einer Traffic-Limitierung bei seinem Providor einen Vertrag hat, läuft Gefahr durch das hotlinking richtig zur Kasse gebeten zu werden.
Es gibt eine Reihe von Problemlösungen um das hotlinking zu unterbinden, aber fast alle haben auch negative Nebeneffeke.
Schnelle Lösungen sind nicht immer perfekt
Eine gängige Praxis ist, den Server anzuweisen alle Anfragen zurückzuweisen, bei denen der HTTP Referrer des Headers entweder nicht von deiner eigenen Seite stammt, oder wo der Referrer im Header fehlt. Damit können die User deine Bilder nur dann sehen, wenn sie deine Bilder auch über deine Seite aufrufen, oder wenn sie es schaffen, den Referrer zu unterdrücken (was eine Reihe von Sicherheitstools heutzutage auch schafft).
Ein zweiter Ansatz das Problem zu lösen ist, den Traffic der nicht zu deiner Seite gehört, umzuleiten, die z.B. den Surfer mit einer Seite empfängt, die ihn darüber informiert, dass das "hotlinking" nicht erwünscht ist. Das wäre die freundliche Art, du kannst dir natürlich auch etwas wesentlich drastischeres ausdenken.
Diese Methode hat aber auch seine Nachteile, da reguläre Links nicht mehr möglich sind. Jeder Browser sendet einen Referrer wenn jemand auf einen Link zu einem deiner Bilder klickt. Nun bist du in einer Zwickmühle. Einerseits möchtest du vielleicht einen Link du einem Bild zulassen (da darüber die Leute deine Webseite besuchen), andererseits möchtest du aber unterbinden, dass deine Bilder über einen hotlink direkt in andere Seiten eingebaut werden.
Ich werde dir eine Möglichkeit bieten, auch Seiten die Möglichkeit zu geben auf deine Bilder zu verlinken, wenn du es ausdrücklich erlaubst und die Verlinkung wird deine Seite öffnen. Damit hast du den Vorteil, dass die Links als Hits für deine Seite gewertet werden.
Was wollen wir also erreichen?
Mit PHP und "mod_rewrite", kannst du das Einbetten verbieten und gleichzeitig das Verlinken für alle erlauben, die Direktlinks für Bilderseiten erstellen, wie z.B. Google mit deren Bildersuche. Die hier vorgestellte Lösung fasst das Beste aller Möglichkeiten zusammen, und hier kommt jetzt die Lösung:
Alles was du brauchst ist ein Apache Server, der PHP unterstützt und die Option
mod_rewrite
aktiviert hat. Falls du dir über deine Servermöglichkeiten nicht im klaren bist, dann kontaktiere deinen Provider. Du kannst die PHP Konfiguration aber auch selber abfragen:
Für die Ermittlung der aktuellen PHP Version und Konfiguration reicht ein kleines Script. Schreibe die folgenen Zeilen in einen Text Editor.
Speicher die Datei und benenne sie in
phpinfo.php
um. Dann lade diese Datei in das Stammverzeichnis deiner Home Page. Aufrufen kannst du nun die PHP Informationen über deinen Browser, indem du die phpinfo.php über die Adresszeile aufrufst:
http://www.deinedomain.de/phpinfo.php
Schau im Abschnitt "apache" in die Rubrik "Loaded Modules". Hier muss
mod_rewrite
in der Liste stehen. Wenn nicht, dann bitte deinen Providor dieses Modul freizugeben.
Zunächt erstellst du eine Datei die du z.B.
showpic.php
nennst. In diese kopierst du den folgenden PHP Code:
Natürlich brauche ich dir nicht sagen, dass du die blau markierte Zeile anpassen musst. Die rote Angabe musst du so lassen wie sie ist. Das Datum soll in der Vergangenheit liegen.
Lasst uns nun mal einen Blick auf den oben stehenden PHP Code werfen. Die erste Zeile stellt sicher, dass der "Content-Type", der an den Browser gesendet wird, das Dokument als ein HTML Dokument identifiziert. Nach weiteren header Angaben folgt eine Abfrage ob die Variable
$pic
an das Script übergeben wurde. Ist dies nicht der Fall, so wird zum Ende gesprungen und abgebrochen.
Wie dem auch sei, da dieses Script niemals ohne diese Variable aufgerufen wird, ist dieser Eintrag nicht von grosser Bedeutung. Du kannst das oben angegebene Script nun schon mal testen.
Kopiere das Script in einen Texteditor, passe die blaue Zeile an und benenne die Datei wie folgt um:
showpic.php
Ich nehme nun mal an, dass in deiner Server Root ein Bild mit Namen
MeinBild.jpg
liegt. Wenn du nun in die Adresszeile deines Browsers folgendes eingibst:
Code:
http://www.deinedomain.de/showpic.php?pic=MeinBild.jpg
dann sollte der Browser das Bild anzeigen, unter dem steht:
Dies Bild gehört zur Webseite
deinedomain.de
Du kannst es mal auf meiner HP ausprobieren. Ich habe das Script direkt in die Root gelegt in der sich auch das Bild "floh.jpg" befindet. Der Testaufruf sieht folgendermaßenaus:
http://www.eddys-domain.de/showpic.php?pic=floh.jpg
Nun wirds interessant
Ich gehe an dieser Stelle mal davon aus, dass du mit der Erstellung von .htaccess Dateien und der Implementierung auf einer Webseite vertraut bist.
Kopiere die folgenden Anweisungen in ein Textfile und lade es als
.htaccess
File auf deine Homepage:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER}
!deineseite\.de [NC]
RewriteCond %{HTTP_REFERER}
!partnerseite\.com [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteRule (.*) /showpic.php?pic=$1
Das eingehende PHP Script sorgt dafür, dass alle Links, die auf deine Homepage zeigen auch angezeigt werden, allerdings immer mit einem Hinweis auf den Ursprung des Bildes. Die Unart, Bilder direkt in die eigene Homepage einzubinden wird durch die htaccess Datei verhindert. Der Versuch ein Bild per
Tag einzubinden scheitert an den .htaccess Einträgen die im folgenden beschrieben werden.
RewriteEngine On
Diese Zeile ist notwendig, damit mod_rewrite seine Aufgabe ausführen kann.
RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$ [NC]
Dies ist die erste Bedingung, mit der du festlegst auf welche Dateiendungen mod_rewrite reagieren soll. Damit ist sichergestellt, dass nur hotlinks auf Bilder verhindert werden. Du kannst die Regel aber auch auf weitere Dateitypen wie .swf oder .mp3 ausweiten.
RewriteCond %{HTTP_REFERER} !^$
Die zweite Bedingung besagt, dass der Referrer nicht fehlen darf. Damit ist sichergestellt, dass auch die Besucher deiner Seite, die den Referrer nicht übertragen, deine Bilder sehen können.
RewriteCond %{HTTP_REFERER}
!deineseite\.XXX [NC]
RewriteCond %{HTTP_REFERER} [color=blue]!deineseite\.XXX [NC]
Diese beiden Zeilen erlauben das Verlinken von deiner eigenen Seite und von Seiten aus, die du authorisieren willst. Das du deine eigene Seite authorisierst ist wichtig, da du sonst nicht mehr in der Lage bist, innerhalb deiner Homepage links auf deine eigenen Bilder zu setzen.
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
Diese beiden Befehle lassen es zu, das Leute, die Google Cache und Google Image Search verwenden, deine Bilder sehen können. Wenn du nicht willst, dass Leute deine Bilder über Google finden, dann lass die Zeilen weg.
RewriteRule (.*) /showpic.php?pic=$1
Diese letzte Regel leitet die Anfrage zum Bild an /showpic.php?pic=$1 um ($1 ist das gewünschte Bild).
Ich habe auf meiner Test-Domain eine Seite eingestellt, die das oben beschriebene Verfahren demonstriert.
http://ggnet.gg.funpic.de/bilderklau_demo.htm
MfG
Erhard Olszok aka GrayGhost
Powered by
phpBB
© 2001, 2005 phpBB Group
Deutsche Übersetzung von
phpBB.de