[PHP] prüfen ob seite included wird

Drogenfahnder

Well-known member
ID: 167222
L
28 April 2006
333
6
Hi,
gibt es eine möglichkeit mittels PHP zu überprüfen ob die Seite included wird.

Also z.b. ich generiere mittels php ein bild.
Jetzt möchte ich unterscheiden ob jemand das bild z.b. im forum einbindet oder nur das Bild direkt anschaut.

kann mir da jemand helfen?
 
Meinst du include von PHP oder eingebunden durch einen Aufruf?Wie soll das Bild denn direkt aufgerufen werden? Wenn der Link irgendwo verteilt wird, bringt das prüfen auf den referrer auch ncihts, weil du nie weißt ob jemand in einem forum nen link gefolgt ist oder das bild direkt eingebunden wurde
 
Du musst halt ne Markierung (z.B. Keks) setzen, wenn derjenige im Forum ist.
Ist die Markierung gesetzt, so wurde das Bild im Forum eingebunden, sonst eben nicht.
 
mmh wie meinst des genau

wenn ich hier das Bild habe www.domain.de/bild123.jpg des wird z.b. auf einer homepage eingebunden und als bild gezeigt oder es steht nur der link dran und jemand klickt drauf. Wie soll ich das dann mit einem cookie unterscheiden. Die Seite wo des eingebunden wird gehört nicht mir.
 
Die Seite wo des eingebunden wird gehört nicht mir.
Dann kannst du es auch nicht rausfinden ;)
Das heißt: Was du willst, ist technisch nicht möglich.

Überleg mal, wie HTTP funktioniert: Jemand sendet einen Request an deinen Server, dass er das Bild haben möchte. Die Gründe dafür können sein:

  • er hat die URL des Bilds in der Adresszeile eingeben
  • er ruft eine Seite auf, die eine Referenz des Bildes im Code stehen hat. Gründe dafür könnten sein
    • Background-Image im CSS
    • <img>-Tag im Markup
    • JavaScript fordert es an
    • ein Java-Applet öffnet eine HTTP-Verbindung und fordert das Bild an
  • ein Script sendet den HTTP-Request (Google, sonstige Imagebots, ich, der dir durch das Abrufen kräftig Traffic kosten will :ugly:)
  • jemand hat einen Link mit der Bild-URL geklickt
  • ....
Du kannst das nicht unterscheiden. Du weißt nur: Jemand will es jetzt haben.

Einzige Möglichkeit wäre der - schon angesprochene - HTTP-Referrer, aber da du dich auf den nicht verlassen kannst, bringt dir das auch nichts.