Sebastian: Bilder schützen

Hallo zusammen,

kann ich es über die .htaccess einstellen, dass Bilder nicht auf einer anderen Internetseite direkt verlinkt bzw. durch Eingabe der Bild-URL, ohne davor auf meiner Seite gewesen zu sein, abgerufen werden können, sondern nur, wenn diese in eine HTML-Datei oder ein darin befindliches Flashobject eingebunden sind?

Falls nein, wie kann ich es dann verhindern?

Verzeichnisbrowsing habe ich bereits abgeschalten...

Danke schon im voraus.

  1. Hi!

    kann ich es über die .htaccess einstellen, dass Bilder nicht auf einer anderen Internetseite direkt verlinkt bzw. durch Eingabe der Bild-URL, ohne davor auf meiner Seite gewesen zu sein, abgerufen werden können, sondern nur, wenn diese in eine HTML-Datei oder ein darin befindliches Flashobject eingebunden sind?

    Falls nein, wie kann ich es dann verhindern?

    Unter der Vorraussetzung, dass der Client jeweils einen richtigen HTTP-Referrer mitschickt, kann dies mittels mod_rewrite realisiert werden. Wie das geht, findest du in der Apache-Doku beschrieben (Punkt "Blocked Inline-Images").

    Bedenke dabei jedoch, dass dieser Referrer oftmals von Firewalls, etc. überschrieben wird bzw. auch ganz abgeschaltet werden kann, sodass diese Besucher dann auch keine Bilder zu sehen bekommen.

    Grüße,
    Fabian St.

  2. Moin!

    kann ich es über die .htaccess einstellen, dass Bilder nicht auf einer anderen Internetseite direkt verlinkt bzw. durch Eingabe der Bild-URL, ohne davor auf meiner Seite gewesen zu sein, abgerufen werden können, sondern nur, wenn diese in eine HTML-Datei oder ein darin befindliches Flashobject eingebunden sind?

    Nein. Nicht zuverlässig.
    Dazu müsstest du höchstens den Referrer überprüfen. Aber dadurch würdest du wieder etliche "ehrliche" Nutzer ausschließen, denn der Referrer ist bekanntlich eine sehr unzuverlässige Information. Er kann in einem Request völlig fehlen, oder er kann sinnlose Angaben enthalten. Bedenke, dass man einige Browser schon so einstellen kann, dass sie keinen Referrer senden, und auch einige Firewalls und Proxies filtern diese Information aus.

    Falls nein, wie kann ich es dann verhindern?

    Mir fällt keine vernünftige Lösung ein.
    Ein Ansatz wäre höchstens, mit Sessions zu arbeiten. Beim Abruf deiner HTML-Seite öffnest du eine neue Session, und Bilder rückst du nur mit einer gültigen Session-ID raus. Nur mal so ins Unreine gedacht...

    Verzeichnisbrowsing habe ich bereits abgeschalten...

    Sicher, aber das hilft dir natürlich nicht gegen gezielte externe Links.

    So long,

    Martin

    1. Hi,

      Dazu müsstest du höchstens den Referrer überprüfen. Aber dadurch würdest du wieder etliche "ehrliche" Nutzer ausschließen, denn der Referrer ist bekanntlich eine sehr unzuverlässige Information.

      Trotzdem schließt man "ehrliche" Nutzer nicht aus, wenn man leere Referrer zuläßt und nur Referrer von anderen Domains ausschließt. Wer meint, einen unsinnigen Referrer wie XXXX:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ senden zu müssen, ist in meinen Augen kein "ehrlicher" Nutzer mehr bzw. er hat sich die Konsequenzen dann halt selbst zuzuschreiben. Und Programme, die dort Sachen wie "Field blocked by Outpost (http://www.agnitum.com)" reinschreiben, sind meinen Logfiles nach auch seltener geworden bzw. genutzt.

      freundliche Grüße
      Ingo

      1. Hallo,

        Trotzdem schließt man "ehrliche" Nutzer nicht aus, wenn man leere Referrer zuläßt und nur Referrer von anderen Domains ausschließt. Wer meint, einen unsinnigen Referrer wie XXXX:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ senden zu müssen, ist in meinen Augen kein "ehrlicher" Nutzer mehr bzw. er hat sich die Konsequenzen dann halt selbst zuzuschreiben. Und Programme, die dort Sachen wie "Field blocked by Outpost (http://www.agnitum.com)" reinschreiben, sind meinen Logfiles nach auch seltener geworden bzw. genutzt.

        Es spricht ja nichts dagegen, gerade diese "Klassiker" unter den unsinnigen Referrern auch zuzulassen. Es sollen ja nicht die Besucher "bestraft" werden, sondern der Fremdverlinker. Und solange dessen Seiten noch von genügend anderen Besuchern mit "richtigem" Referrer besucht werden, wird ja der gewünschte Effekt erzielt.

        Und wenn die Verlinkung von Fremdseiten überschaubar ist, reicht es ja aus, gezielt deren Referrer zu verbieten. Das wäre natürlich keine vorbeugende Maßnahme und müßte regelmäßig auf ihre Wirksamkeit überprüft werden, aber so wäre halbwegs garantiert, daß kein eigener Besucher vom Betrachten der Bilder ausgeschlossen wird.

        Viele Grüße
        Carsten

  3. Hallo zusammen,

    kann ich es über die .htaccess einstellen, dass Bilder nicht auf einer anderen Internetseite direkt verlinkt bzw. durch Eingabe der Bild-URL, ohne davor auf meiner Seite gewesen zu sein, abgerufen werden können, sondern nur, wenn diese in eine HTML-Datei oder ein darin befindliches Flashobject eingebunden sind?

    Du solltest nach "RedirectMatch" suchen.
    Außerdem bist Du hier nicht verpflichtet eine E-Mailadresse anzugeben, und wenn Du eine angibst, dann gib eine gültige an.
    TomIRL

  4. Tag Sebastian.

    kann ich es über die .htaccess einstellen, dass Bilder nicht auf einer anderen Internetseite direkt verlinkt bzw. durch Eingabe der Bild-URL, ohne davor auf meiner Seite gewesen zu sein, abgerufen werden können, sondern nur, wenn diese in eine HTML-Datei oder ein darin befindliches Flashobject eingebunden sind?

    Ein paar Möglichkeiten nennt http://www.trafficklau.de/index1.html.

    Siechfred

  5. Hallo Sebastian

    kann ich es über die .htaccess einstellen, dass Bilder nicht auf einer anderen Internetseite direkt verlinkt ...

    Du könntest mal im Archiv suchen.
    Eine suche nach Traffic Klau Grafik oder nach Bilderklau dürfte dir
    passende Informationen liefern.

    Auf Wiederlesen
    Detlef

    --
    - Wissen ist gut
    - Können ist besser
    - aber das Beste und Interessanteste ist der Weg dahin!
    1. Hello,

      gegen Traffic-Klau habe ich mir eine Kleinigkeit ausgedacht.
      Mein Bilderverzeichnis wird über mod_rewrite gelesen und jede Anforderung verzweigt auf ein Script, dass das eigentliche Bild dann ausliefert. Steht der übermittelte Referrer in der Sperrliste, so wird in das Bild z.B. "geklaut bei www.annerschbarrich.de" eingeblendet. Wird kein Referrer gesendet oder ein nicht aufgeführter, wird das Bild normal ausgeliefert.

      Das verhindert zwar nicht den Traffik-Klau, macht ihn aber nutzbar für die betroffene Site.

      Man Bedenke, dass ja nicht der Klauer den Referrer sendet, sondern sein Besucher. Und den kann er auch nur schwer kontrollieren.

      http://beepworld.de/members31/nikezoom/index.htm --> Menupunkt "Harzflirt"

      Harzliche Grüße vom Berg
      esst mehr http://www.harte-harzer.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
  6. Hallo zusammen,

    kann ich es über die .htaccess einstellen, dass Bilder nicht auf einer anderen Internetseite direkt verlinkt bzw. durch Eingabe der Bild-URL, ohne davor auf meiner Seite gewesen zu sein, abgerufen werden können, sondern nur, wenn diese in eine HTML-Datei oder ein darin befindliches Flashobject eingebunden sind?

    Falls nein, wie kann ich es dann verhindern?

    Verzeichnisbrowsing habe ich bereits abgeschalten...

    Danke schon im voraus.

    Mir würde spontan eine Idee kommen... iss allerdings sehr aufwändig und Rechenintensiv...

    Einfach einen Ordner mit den "echten" Bildern  erstellen.. diesen ganz seltsam nennen, dass keiner durch Zufall draufstößt. Dann, bei Zugriff auf ein Bild, ein PHP-Script die Datei unter einem Zufallsnamen in ein "temp"-Verzeichniss kopieren. Danach dieses Bild einbinden.
    Dann noch regelmäßig einen Cronjob diese Dateien löschen lassen, und der perfekte, aber aufwändige Traffic-Klas-Schutz ist ferig...

    Nur' so ne Idee...

    Sebbecking

    1. Hallo Sebbecking,

      Einfach einen Ordner mit den "echten" Bildern  erstellen.. diesen ganz seltsam nennen, dass keiner durch Zufall draufstößt. Dann, bei Zugriff auf ein Bild, ein PHP-Script die Datei unter einem Zufallsnamen in ein "temp"-Verzeichniss kopieren. Danach dieses Bild einbinden.
      Dann noch regelmäßig einen Cronjob diese Dateien löschen lassen, und der perfekte, aber aufwändige Traffic-Klas-Schutz ist ferig...

      Wieso so kompliziert?
      Die Bilder werden einfach in einen Ordner "1" geschoben. Dieser Ordner wird stets nach einem gewissen Intervall (z.B. nach einem Tag, aber z.B. auch einer Stunde) umbenannt - also nach "1" heißt er dann "2", usw.
      Das PHP-Script weiß natürlich, wo es die Bilder findet, und kann die Links bzw. Quellenangaben in <img>-Tags entsprechend ausgeben. Jeder, der die Bilder auf seiner Webseite einbindet, hat das Nachsehen, dass er nur einen statischen Link bekommt.

      Das Ganze war ja nur ein einfaches Prinzip, letzlich sind hiervon etliche Varianten denkbar. Eines ist jedoch klar: Solche Bilder werden von Suchmaschinen nicht mehr aktuell gefunden.

      Ach ja: Einen Cronjob braucht man hierfür auch nicht. Der Ordner wird einfach umbenannt, wenn der Timeout stattfindet und ein Zugriff auf das PHP-Script stattfindet.

      Grüße

      Marc Reichelt || http://www.marcreichelt.de/

      --
      Linux is like a wigwam - no windows, no gates and an Apache inside!
      Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
      http://emmanuel.dammerer.at/selfcode.html
      1. Hello,

        ... und wenn man nun noch mit symbolischen Links arbeitet ist man einen Schritt später auch beim Mod_Rewrite angekommen...

        Harzliche Grüße vom Berg
        esst mehr http://www.harte-harzer.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau