RFZ: Bild per PHP einlesen und ausgeben / Abrufschutz

Beitrag lesen

Moin,

Ich möchte innerhalb einer Webseite ein Bild ausgeben was aber
NICHT direkt durch den User (via Direkteingabe der URL) aufrufbar
sein soll.

Das ist nicht so einfach, und vor allem sollte man deine Intention kennen. Eine Möglichkeit wäre die Prüfung des Referers, die aber nicht allzu zuverlässig ist.
Das Bild nur dann anzuzeigen, wenn der Referer eine URL deiner Website liefert wäre falsch. Die einzig sinnvolle Methode wäre, das Bild nicht zu zeigen, wenn der Referer eine andere URL als deine Website enthält.
Beispiel .htaccess für soeinen Schutz:

<FilesMatch ".(zip|exe|gif|jpe?g|png|swf|mp.|avi)$">
  ErrorDocument 403 http://deine.website.de/deeplink.jpg
  SetEnvIfNoCase Referer "^http://" blockuser
  SetEnvIfNoCase Referer "^http://deine.website.de" !blockuser
  SetEnvIfNoCase Referer "^http://www.deine.website.de" !blockuser
  SetEnvIfNoCase Request_URI "deeplink.jpg$" !blockuser
  Order Allow,Deny
  Deny from env=blockuser
  Allow from all
</FilesMatch>

Das wäre ein vernünftiger Schutz vor deeplinks.

Eine andere Möglichkeit wäre, wie du schon angefangen hast, über ein PHP Script. Dieses könnte so aufgebaut sein, dass es via Sessions überprüft ob der Benutzer innerhalb der letzen x Minuten auch eine Website von dir aufgerufen hat, oder doch nur die Bilder alleine. Ist zwar aufwändiger und auch weniger performant - aber du musst wissen ob es das wert ist, sicherer ist es auf jeden Fall.

Viele Grüsse
Didi

Schönen Gruß,
RFZ