Unerlaubtes "Hotlinking" greift um, wie eine Seuche. Maßnahmen?

  • Vermutlich jeder, der Bilder und/oder Downloads jeglicher Art veröffentlicht, kennt das Problem. Die Dateien werden unerlaubt in andere Seiten, Foren und Blogs eingebunden, sprich: direkt verlinkt. Dadurch kann nicht unerheblicher Traffic entstehen und unter Umständen auch eine Beeinträchtigung des Servers. Ein verlinktes GIF von 2 MB Größe, das 1000 Mal abgerufen wird, erzeugt so schnell einen Traffic von mehreren Gigabyte im Monat (so schon bei mir geschehen).

    Nun ist mir der Traffic allein genommen weniger wichtig, da ich in dieser Beziehung genügend Reserven habe. Ich finde dieses Vorgehen des "Diebstahls" aber ziemlich frech. Gerade heute in Zeiten der kostenlosen Bilderhoster, kann jeder Bilder ganz einfach zur Verfügung stellen. Man muss sie nicht von fremden Seiten hotlinken. Und das Übelste dabei: In den meisten Fällen wird nicht mal ein Hinweis auf die Quelle angegeben.

    Was dagegen tun?

    Ich hatte eine Weile per htaccess und Referer-Abfrage allen Domains, die in großem Umfang bei mir Traffic per Hotlinking verursachen, die Darstellung der Bilder gesperrt. Das Problem dabei: der händische Eintrag der Domains ist auf die Dauer zu zeitaufwändig, da die "Täter" immer zahlreicher werden.

    Nun bin ich am überlegen, ob ich per htaccess nicht eine generelle Referer-Abfrage einbaue, die nur noch die Bilddarstellung zulässt, wenn die Anfrage von einer meiner eigenen Seiten kommt.

    Dabei ergeben sich aber zwei Probleme:

    1. Besucher, die über einen Proxy-Server auf meine Seite kommen, sehen die Bilder nicht, wenn der Proxy den Referer filtert (wie z.B. bei AOL). Ein ähnliches Problem machen einige Firewalls.

    2. Nutzer, die mein Blog über RSS-Reader lesen oder via RSS-Webservice abonniert haben, sehen die Bilder ebenfalls nicht.

    Die Frage: sind das vertretbare Folgen oder gibt es noch andere Maßnahmen? Wie seht ihr das?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ich habe bei mir in einigen Vhosts, wo das Problem besonders schwerwiegend ist, folgenden Eintrag (Apache 2.0.x):

    Code
    SetEnvIfNoCase Referer "^http://www.example.com/" local_ref=1
    SetEnvIfNoCase Referer "^$" local_ref=1
    
    
    <FilesMatch ".(gif|jpg|png|bmp)">
      Order Allow,Deny
      Allow from env=local_ref
     </FilesMatch>

    Das habe ich irgenwo mal im Netz gefunden... weiß leider nicht mehr, wo.

    Scheint ganz gut zu funktionieren; ich habe bislang keine Beschwerden bekommen, und auch der entsprechende Traffic ist deutlich gesunken.

    Zum Firewall-/Proxy-Problem: Ist unschön, aber ich halte das für vertretbar. Wenn sich jemand explizit beschweren würde, könnte man über eine Whitelist nachdenken.

    P.S. Zum Thema... s.u.

    Einmal editiert, zuletzt von mastermind (1. Oktober 2006 um 22:51)

  • Hallo!

    Ich kenne mich noch nicht so gut aus ... in welcher Datei hast Du diesen Eintrag vorgenommen?

    Die angefügte Mail hat mir die Sprache verschlagen - ist das eine übliche Vorgehensweise???

  • Ich kenne mich noch nicht so gut aus ... in welcher Datei hast Du diesen Eintrag vorgenommen?

    Das gehört in die Serverkonfiguration bzw. in die VirtualHost-Konfiguration; um die zu bearbeiten, brauchst Du aber normalerweise Root-Rechte.

    Anderenfalls kannst Du versuchen, es in die .htaccess zu schreiben. Falls Du aber einen Fehler 500 o.ä bekommst, dann geht es nicht, und Du solltest Dich direkt an Deinen Hoster wenden.

    Die angefügte Mail hat mir die Sprache verschlagen - ist das eine übliche Vorgehensweise???

    :mrgreen:

    Wohl eher nicht... da hat sich eher der Verfasser gut lächerlich gemacht. ;-)

  • Bei der Gelegenheit mal eine .htaccess von mir die ebenfalls sehr wirksam arbeitet:

    Apache Configuration
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain2\.de(/.*)?$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain1\.de(/.*)?$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.de\.de(/.*)?$ [NC]
    RewriteRule \.(jpg|JPG)$ - [F]


    Damit können Bilder mit den Endungen JPG/jpg nur von den drei genannten Domains aufgerufen werden.

    "Eine gut gestellte Frage ist schon halb beantwortet."

  • Diese Beispiele führen genau zu dem Problem, das ich angesprochen habe. Die Frage ist eben, ob es ein Problem ist. Ich werde aber wohl auch mal zumindest testweise ausprobieren, nur die Referer von meinen Seiten zuzulassen.

  • Nun ja, dann kann man die Statements halt erweitern. In meinem Beispiel oben sorgt etwa die zweite Zeile dafür, dass auch Anfragen mit leerem Referer die Bilder bekommen. Bei jottliebs Beispiel das gleiche (auch zweite Zeile).

    Mit den RSS-Feeds ist es etwas schwieriger. Du könntest aber versuchen, durch PHP oder HTML -- Stichwort: http-equiv -- den Referer zu überschreiben bzw. selbst zu setzen (nur eine Idee).

    Letztendlich gibt es m.E. keine bessere Lösung als den Kontext über den Referer zu bestimmen.

  • Verstehe ich nicht

    … Gerade heute in Zeiten der kostenlosen Bilderhoster, kann jeder Bilder ganz einfach zur Verfügung stellen. Man muss sie nicht von fremden Seiten hotlinken. Und das Übelste dabei: In den meisten Fällen wird nicht mal ein Hinweis auf die Quelle angegeben.

    Ich verstehe das nicht :(

    Entweder hast Du Deine Bilder bei Flickr.com unter einer CC abgelegt, so dass dorthin verlinkt werden kann. Jedenfalls habe ich bisher Flickr so verstanden, dass man dorthin "hotlinken" können soll.

    Oder Dir ist an dem Copyright an Deinen Bildern so sehr gelegen, dass Du eine Verwendung derselben auf fremden Seiten absolut ablehnst.
    Ich vermute ja mal, das genau dies Dein Anliegen ist.
    Dann überrascht es aber auch nicht, wenn dorthin – soweit ich das überblicke "juristisch nur schwer zu unterbindende" "Hotlinks" gesetzt werden.

    Vielleicht sollten gerade wir Wordpress-Blogger etwas großzügiger sein beim Thema "Urheberrecht"?

    Nur so ein Gedanke und noch nicht ganz abgeschlossen. Aber er musste einfach raus. :-?

    Andreas Skowronek
    Freier Journalist, Autor und Seminar-Trainer schreibt das

    Blog für Betriebsrat und Jugendvertretung (JAV) – immer subjektiv und nie langweilig.

    http://37sechsblog.de


  • Entweder hast Du Deine Bilder bei Flickr.com unter einer CC abgelegt, so dass dorthin verlinkt werden kann. Jedenfalls habe ich bisher Flickr so verstanden, dass man dorthin "hotlinken" können soll.

    Wieso Flickr? Ich habe die Bilder auf meinem Webspace. Genau darum geht es ja.

    Zitat


    Oder Dir ist an dem Copyright an Deinen Bildern so sehr gelegen, dass Du eine Verwendung derselben auf fremden Seiten absolut ablehnst.
    Ich vermute ja mal, das genau dies Dein Anliegen ist.

    Mir gehts hier nicht ums Urheberrecht (das ich von den meisten Bildern ohnehin nicht besitze), sondern einfach um die Tatsache, dass Bilder (und andere Dateien) von fremden Seiten direkt verlinkt werden. Das ist eine Unsitte.

    Zugegeben, manche dieser Hotlinker wissen gar nicht was sie tun. Der Großteil ist aber einfach zu faul, das entsprechende Bild runterzuladen und selbst irgendwo abzuspeichern.

    Negativ fallen mir da insbesondere Dienste wie MySpace und LiveJournal auf. Da werden fremde Pics auf Teufel komm raus eingebunden. Und je nach Popularität der betreffenden Nutzer, kann es passieren, dass das Bild dann 10.000 mal im Monat von meinem Webspace abgerufen wird. Wenn das keine Frechheit ist.

    Ich habe jetzt übrigens einen Kompromis getroffen und wie hier schon weiter oben beschrieben, eine Htaccess-Datei mit Whitelisting angelegt. Hotlinking ist somit für alle meine Seiten (klar) und für eine Reihe von Online-RSS-Readern sowie für alle Anfragen ohne Referer erlaubt, wodurch Nutzer von Proxies und Desktop-RSS-Readern somit in den meisten Fällen nicht ausgesperrt werden.

    Übrigens, welche Feed-Dienste sollte ich da noch aufnehmen?
    Bisher habe ich diese drin:

    http://rss.euge.net
    http://www.attensa.com
    http://www.bloglines.com
    http://www.feedburner.com
    http://www.feedlounge.com
    http://www.gregarius.net
    http://www.gritwire.com
    http://www.izynews.de
    http://www.netvibes.com
    http://www.newsalloy.com
    http://www.newsgator.com
    http://www.pluck.com
    http://www.rojo.com

  • Nochmal zum Thema leere Referer: Ich habe heute festgestellt, dass die obigen Methoden (sowohl meine VHost-Methode als auch jottliebs mit .htaccess) mit neueren Apache-Versionen nicht ganz funktionieren. Zumindest auf meinem Server ist das so.

    Und zwar interpretiert der neuere Apache den Ausdruck

    Code
    ^$

    nicht als leeren Referrer, sondern es muss stattdessen lauten:

    Code
    ^-$

    Daher müssen die obigen Beispiele wiefolgt lauten:

    VHost:

    Code
    SetEnvIfNoCase Referer "^http://www.example.com/" local_ref=1
    [COLOR="#8b0000"]SetEnvIfNoCase Referer "^-$" local_ref=1[/COLOR]
    
    
    <FilesMatch ".(gif|jpg|png|bmp)">
      Order Allow,Deny
      Allow from env=local_ref
     </FilesMatch>

    .htaccess:

    Apache Configuration
    RewriteEngine on
    [COLOR="DarkRed"]RewriteCond %{HTTP_REFERER} !^-$[/COLOR]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain2\.de(/.*)?$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain1\.de(/.*)?$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.de\.de(/.*)?$ [NC]
    RewriteRule \.(jpg|JPG)$ - [F]

    Habe es mit beiden Methoden probiert, und es funktioniert gut.

    Zum Test:
    http://www.contutto.com/
    http://www.contutto.com/wp-content/plu…ot_flags/de.png :twisted:

    Der damalige Apache war übrigens 2.0.54 oder sowas in dem Dreh, mein aktueller ist 2.0.59.

    Hoffe, das hilft dem einen oder anderen.

    Einmal editiert, zuletzt von mastermind (26. Oktober 2006 um 20:53)

  • Ich hab dazu mal eine Frage, es scheint zu funktionieren,aber kann man auch irgendwie ein Bild anzeigen, dass immer geöffnet wird bei Hotlinking? Wo ich dann hinweise reinschreiben kann warum der Fehler kommt und wenn der Fehler zu unrecht kommt soll sich die person bei mir melden?

  • Ja, bei der .htaccess-Methode geht das, indem Du die letzte Zeile ersetzt durch

    Apache Configuration
    RewriteRule \.(jpg|JPG|gif|GIF|png|PNG)$ /pfad/zum/bild.png [L]

    Leider klappte das bei mir beim gestrigen Versuch nicht, wurde irgendwie zu einer entlosschleife (sprich nichts wurde angezeigt, die ganze zeit nur neugeladen beim IE und FF zeigt direkt an das es eine endlosschleife ist) :(

  • Auch wenn dieser Beitrag schon längst Mumifiziert ist ;D wollte ich mal ebend sagen wie es bei mir klappt.. da ich selber laaange gesucht habe dafür ;)

    Das kommt natürlich in die .htaccess

    Apache Configuration
    <filesmatch "\.(gif|jpe?g|png|bmp)$">
    RewriteEngine on
    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?URLvondir.de/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?ausnahmeURL\.de(/.*)?$ [NC]
    RewriteCond %{REQUEST_FILENAME} !forbidden.jpg$
    RewriteRule .*\.(gif|jpe?g|png|bmp)$ http://URLvondir.de/forbidden.jpg [R]
    </filesmatch>

    LG

  • Ist ja tatsächlich schon hundealt, der Artikel, aber inhaltlich immer noch aktuell. :-)

    Ich hatte schon mal ausführlich zum Problem Hotlinks etwas geschrieben. Wirklich verhindern kann man sie auch mit den verschiedenen Methoden in der .htaccess nicht. Sie werden lediglich entschärft.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!