Ankündigung

Einklappen
Keine Ankündigung bisher.

Überprüfen ob Bild eingebunden ist oder direkt aufgerufen wird.

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Überprüfen ob Bild eingebunden ist oder direkt aufgerufen wird.

    Hey!
    Ich versuche zurzeit einen eigenen Imagehost zu programmieren und stehe zurzeit vor einem Problem:
    Ich habe mir das ganze folgendermaßen vorgestellt:
    Ein Bild soll bspw. über den Link domain.de/img/123 aufrufbar sein.
    Wenn das ganze direkt im Browser aufgerufen wird soll das Bild innerhalb von HTML angezeigt werden.
    Sollte das Bild jedoch über <img src="http://domain.de/img/123"> eingebunden sein soll nur das eigentliche Bild dargestellt werden.
    Von daher muss ich irgendwie erkennen können ob das Bild direkt aufgerufen wird oder von einer externen Seite eingebunden wird.

    Ist das mit PHP möglich? Ich habe mich schon mit dem $_SERVER[] Array auseinandergesetzt, allerdings war es dabei nicht möglich zu erfahren ob das Bild von einer externen Seite aufgerufen wird oder ob es direkt über die eigentliche Seite aufgerufen wird.

    Über hilfreiche Antworten wäre ich sehr erfreut!

    Grüße.

  • #2
    Ich glaube nicht, dass das so ohne weiteres geht. Die einzige Information an die dein Skript gelangen kann ist HTTP_REFERER und das kann man sicher auch noch faken.

    Der einzige weg, der mir dazu einfällt, sind Hashes in einer Session.

    Du generierst in deinem Skript einen Hash, der in einer Session gespeichert wird. Dann rufst du das Bild z.B. mit /images/meinbild.jpg auf. Im Order /images/ liegt aber statt dem Bild eine .htaccess-Datei, die die eingehenden Anfragen an eine andere PHP-Datei weiterleitet. Diese bekommt den Bildnamen als GET-Parameter übermittelt und überprüft im ersten Schritt ob es eine Session mit einem Hashwert zu dem Bild gibt. Gibt es diese Session, dann erstellt das PHP-Skript eine Bilddatei und liefert diese mit dem richtigen Header aus. Gibt es dieses Session nicht, dann gibt das Script einen 302-Redirect-Header zurück.

    Kommentar


    • #3
      Referer ist schon richtig. Du kannst das direkt in der htaccess prüfen. Brauchst dafür kein php. Faken ist auch kein Argument, da es ja immer um die Browser der normalen User geht. Und die unterdrücken den Referer in 99,9% der Fälle nicht. Also prüfst du, ob der Referer mit der Quellseite identisch ist, oder komplett leer ist. Beides ok.

      Kommentar


      • #4
        Ich verstehe nicht genau wie das ganze mit.htaccess funktionieren soll. Kannst du das etwas detaillierter erklären?

        Auf jeden Fall vielen Dank für die Hilfe!

        Kommentar


        • #5
          https://www.google.de/search?q=htaccess+referer+check

          Kommentar

          Lädt...
          X