Nadine: Zugriff auf Bild verhindern (mit PHP oder Apache?)

Hallo,

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.

Könnt Ihr mir sagen, wie ich das machen kann? Geht das mit PHP oder über den Apache?

1000 Dank und liebste Grüsse aus der Kälte (-10°C),

Nadine

  1. Hallo,

    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.

    Könnt Ihr mir sagen, wie ich das machen kann? Geht das mit PHP oder über den Apache?

    1000 Dank und liebste Grüsse aus der Kälte (-10°C),

    Nadine

    ??? Meinst du filleicht in einem Popup das Bild ausgeben?
    also in einem externen Fenster?

    und gegendie kälte, grüß die pinguine ;-)

    1. Hallo,

      das Ausgeben ist nicht das Problem. Es geht darum die Ausgabe über den direkten Aufruf der URL zum Bild zu verhindern ...

      LG, Nadine

      1. Hallo,

        das Ausgeben ist nicht das Problem. Es geht darum die Ausgabe über den direkten Aufruf der URL zum Bild zu verhindern ...

        LG, Nadine

        dan binde das bild irgenwo ein als Hintergrund oder in ein fotoalbum so das es nur durch ein fenster gezeigt wirt.

  2. Hallo,

    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.

    Ich bin mir nicht sicher, aber ich fürchte, dass das nicht möglich ist. Der Browser fordert in beiden Varianten das Bild gleich an, sodass ein .htacces-Schutz beides verhintern würde.
    Die Idee, doch einen htaccess-Schutz einzurichten, und beim einbinden des Bildes die Benutzerdaten mit
    <img src="http://benutzername:passwort@www.deine_seite.de/dein_bild.jpg">
     zu übergeben hilft auch nicht viel, da man die Daten aus dem Quellcode natürlich noch genauso auslesen kann.

    werbeklaus

  3. Hi 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.

    Dann schütze das Bildverzeichnis mit einer .htaccess-Datei und/oder nutze mod_rewrite.

    Wenn also jemand auf das Bild zugreifen möchte, leitest du ihn auf eine Fehler- oder Startseite weiter.

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    1. Hi Hopsel!

      In SELHTML gibt es auch einen Artikel dazu.

      MfG H☼psel

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
      Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
      1. Hallo H☼psel,

        In SELHTML gibt es auch einen Artikel dazu.

        mmmh, der Artikel ist für mich ein bisschen zu hoch ... kannst Du mir evtl. einen Tipp geben, bittem bitte ...

        LG, Nadine

  4. 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.
    1. Hallo Martin,

      1000 Dank und liebste Grüsse aus der Kälte (-10°C),

      Ich finde, Temperaturen unter +10°C gehören verboten. ;-)

      So? Du willst also, dass die Pole schmelzen und gewisse Länder dann unter Wasser stehen?

      ;-)

      Grüße

      Marc *SCNR* 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. Hallo,

        Ich finde, Temperaturen unter +10°C gehören verboten. ;-)
        So? Du willst also, dass die Pole schmelzen und gewisse Länder dann unter Wasser stehen?

        Zu dumm, dass ausgerechnet die Länder, die mir am meisten am Herzen liegen (Norddeutschland, Niederlande, Texas, Kalifornien), davon auch am ehesten betroffen wären...
        Aber ein Verbot ist ja fast immer auf einen bestimmten (geographischen, politischen) Geltungsbereich beschränkt. In gewissen Regionen kann es meinetwegen bärig kalt sein - aber doch nicht da, wo sich Menschen aufhalten! ;-)

        Schönen Abend noch in der warmen Stube,
         Martin

        --
        Es gibt Dinge, die sind sooo falsch, dass nicht einmal das Gegenteil stimmt.