Artikel mit Schlagwort "htaccess"
Kampf dem Hotlinking
Unter Hotlinking versteht man das Einbinden von Elementen, meistens Grafiken, von fremden Webseiten bzw. Servern. Der Hotlinker verweist also auf Dateien eines fremden Hosts und spart sich dadurch in erster Linie Traffic. Das kann natürlich gewünscht sein, denn mit diesem Prinzip arbeiten sogenannte Sharehoster (Imageshack & Co.).
Oftmals möchte man als Betreiber eines Servers aber genau dies vermeiden, da dadurch Performance und vor allem Traffic verbraucht wird.
Auch rechtlich gesehen ist Hotlinking eine heiße Sache. Ohne Genehmigung des Urhebers ist das Einbinden fremder Inhalte nicht gestattet.
Um das Hotlinking beim eigenen Webserver zu unterbinden, gibt es die Möglichkeit den Apache entsprechend zu konfigurieren: Hierbei werden alle externen Anfragen bestimmter Dateitypen (hier: gif, jpeg, jpg png, bmp, js und css) umgeleitet und ersatzweise eine Datei hotlinking.png angezeigt.
<IfModule mod_rewrite.c> <FilesMatch "\.(gif|jpe?g|png|bmp|js|css)$"> RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.tld [NC] RewriteCond %{REQUEST_FILENAME} !hotlinking.png$ RewriteRule .*\.(gif|jpe?g|png|bmp|js|css)$ http://www.domain.tld/hotlinking.png [R] </FilesMatch> </IfModule>
Das kostet zwar auch Performance und Traffic, aber bei geeignet kleiner Grafik (hotlinking.png) hält es sich deutlich in Grenzen. Das Interesse der Hotlinker verschwindet dann auch sehr schnell.
Das oben genannte Beispiel soll nur die Möglichkeiten aufzeigen. Sinnvoller wäre es beispielsweise, wenn ausschließlich Grafiken zu der Datei hotlinking.png umgeleitet werden und alle anderen blockierten Dateitypen ohne eine Reaktion unterdrückt werden.
Tipp zu Favicons im PNG-Format
Ein Favicon ist eine kleine Grafik, die in den Lesezeichen oder Tabs zu einer Internetseite angezeigt wird. Sie dienen dazu, die Internetseite hervorzuheben. Zumeist zeigen sie das Logo der dazugehörigen Internetseite.
Da diese Erfindung aus dem Hause Microsoft stammt, wurde dort mit dem ICO-Dateiformat ein eigener Standard entwickelt. Heutzutage können moderne Browser auch mit anderen Dateiformaten umgehen, dennoch werden .ico-Dateien bevorzugt.
Hier möchte ich auf die Vorteile von Favicons im PNG-Format hinweisen. Der wichtigste Punkt ist hierbei, dass man für PNG-Dateien keinen speziellen Converter oder aufwändige Grafiktools braucht. Des weiteren lassen sich sehr einfach transparente Logos erstellen, was mit dem üblichen ICO-Format deutlich komplizierter ist. Auch das W3C empfiehlt deren Sprössling (PNG).
Leider sind sich die Browser auch bei den Favicons nicht einig. Microsoft pocht mit dem Internet Explorer auf deren Standard und sträubt sich bei der Unterstützung anderer Formate.
Die anderen Browser (Mozilla Firefox, Opera und Google Chrome) sind da unempfindlicher und unterstützen Dateiformate wie ICO, PNG, GIF und JPEG.
Der Firefox hat aber das Problem, dass er zwar mit Favicons im PNG-Format umgehen kann, aber nicht selbstständig nach domain.tld/favicon.png sucht, was für das ICO-Format aber gemacht wird. Ein kleines Workaround schiebt dem Browser das korrekte Favicon zu:
RewriteEngine on RewriteRule ^favicon\.ico$ /favicon.png [L]
Der Browser sucht nach der Datei favicon.ico, falls keine Angaben im HTML-Head (<link>-Element) gemacht wurden. Da wir aber eine PNG-Datei verwenden, wird mit Hilfe von mod_rewrite auf die PNG-Datei verlinkt. Die Angaben können natürlich auch in den Virtualhost-Settings der Apache-Konfiguration gemacht werden.