
Ich bin mir nicht einmal sicher, ob das möglich ist. Ich bin auf einem Apache-Server. Für die Datei unter:
http://www.example.com/dir/img.jpg
- Erlauben Sie, dass dieses Bild in eine Seite geladen wird, die aus diesem Verzeichnis aufgerufen wird.
- Direktes Laden dieses Bildes nicht zulassen, d. h. die obige URL sollte nicht geladen werden.
- Verhindern Sie die Verlinkung dieses Bilds von einer Seite an einem anderen Standort
Der Zweck besteht darin, dass die Datei nur auf der jeweiligen Seite angezeigt werden kann, für die sie bestimmt ist. Sie sollte nicht direkt anzeigbar sein. Ist das möglich?
Antwort1
Von demApache-Dokumentation:
Blockierte Inline-Bilder
Beschreibung: Angenommen, wir haben unter http://www.quux-corp.de/~quux/einige Seiten mit eingebetteten GIF-Grafiken. Diese Grafiken sind schön, deshalb binden andere sie direkt über Hyperlinks in ihre Seiten ein. Wir mögen diese Vorgehensweise nicht, da sie unnötigen Datenverkehr auf unseren Servern verursacht.
Lösung: Zwar können wir die Bilder nicht zu 100 % vor der Einbindung schützen, aber wir können zumindest die Fälle einschränken, in denen der Browser einen HTTP-Referer-Header sendet.
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.*$ [NC]
RewriteRule .*\.gif$ - [F]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !.*/foo-with-gif\.html$
RewriteRule ^inlined-in-foo\.gif$ - [F]