Hallo Nadine,
ich habe auf meinem Server ein Bild (motiv.jpg), dieses Bild soll man nicht durch direkten Aufruf, d.h. durch Eingabe der Adresse (http://meinserver.de/dir/dir/motiv.jpg) aufrufen dürfen können, sondern nur durch Einbettung in einer Seite.
eine _einfache_ Lösung gibt es dafür wohl nicht, nur verschiedene Krücken, die aber alle sehr fragwürdig sind. Wie der werbeklaus schon sagte, kann der Server anhand der Anfrage nicht ohne weiteres erkennen, in welchem Kontext der Client/Browser das Bild anfordert. Es gibt zwar den HTTP-Referrer, den du auswerten könntest - aber diese Information ist sehr unzuverlässig und kann leicht manipuliert werden (oft sogar ohne Zutun des Benutzers durch Proxies oder Personal Firewalls). Dein Schutz wäre entweder wirkungslos oder würde oft "ehrliche" Zugriffe ablehnen, je nachdem wie restriktiv du die Bedingungen auswertest.
Geht das mit PHP oder über den Apache?
Mit PHP (oder einer anderen serverseitigen Sprache) könnte ich mir eine Lösung vorstellen - aber sie ist nicht trivial:
Lass das HTML-Dokument, in dem das Bild eingebunden ist, von einem PHP-Script ausgeben und generiere beim Seitenabruf eine Session. Das Bild wird dann ebenfalls von einem Script ausgeliefert, jedoch nur dann, wenn es mit derselben Session-ID angefordert wird.
1000 Dank und liebste Grüsse aus der Kälte (-10°C),
Ich finde, Temperaturen unter +10°C gehören verboten. ;-)
Schönen Abend noch,
Martin
Wenn alle das täten, wass sie mich können,
käme ich gar nicht mehr zum Sitzen.