micha: Bilder per Referer Sperren

Hallo,

ich habe auf einer Seite dynamisch verlinkte Bilder, die nur über eine bestimmte seite direkt aufgerufen werden sollen.

d.h.

das bild liegt z.b. unter http://meinedomain1.de/bild.php?bild=bild.jpg

und soll nur von http://meinedomain1.de/,http://meinedomain2.de/ und http://meinedomain3.de/ aufgerufen werden können.

ich habe in meinem php script bisher das ganze so abgefragt:

$refer  = $_SERVER['HTTP_REFERER']; // Where did the person come from?

if (($refer) and (!strstr($refer, $domain))) {        // if there's a referrer, and it's not someone on your site

/// ref domain
         $refdom = explode("//", $refer);
$refer2= $refdom[1]; // Teil1
 $refdom2 = explode("/", $refer2);
$refdomain= $refdom2[0]; // Teil1

jedoch ist dies erst NACH dem laden möglich...

jetzt meine frage, wie kann ich vor dem erzeugen des bildes per ImageJpeg($pic,"",$image_quality); (imagecreate...)
 den Referer abfragen, um so das bild durch ein anderes zu ersetzten ?

schon mal THX für eure antworten Gruß Micha

  1. Hi,

    ich habe auf einer Seite dynamisch verlinkte Bilder, die nur über eine bestimmte seite direkt aufgerufen werden sollen.

    HTTP ist zustandslos, es existiert kein Aufruf "über" etwas.

    $refer  = $_SERVER['HTTP_REFERER']; // Where did the person come from?

    Invalid interpretation. The referer is absolutely optional in existence *and* value.

    jetzt meine frage, wie kann ich vor dem erzeugen des bildes per ImageJpeg($pic,"",$image_quality); (imagecreate...)
    den Referer abfragen, um so das bild durch ein anderes zu ersetzten ?

    Durch eine entsprechende Code-Reihenfolge. Das Vorhaben ändert sich dadurch aber nicht im kompletten Fehlen jedweder Sinnhaftigkeit.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. hi,

    jedoch ist dies erst NACH dem laden möglich...

    Nach dem Laden von WAS?

    jetzt meine frage, wie kann ich vor dem erzeugen des bildes per ImageJpeg($pic,"",$image_quality); (imagecreate...)
    den Referer abfragen, um so das bild durch ein anderes zu ersetzten ?

    In dem du den Code an die Stelle davor setzt.

    Das es weitgehend sinnfrei ist, sagte Cheatah ja bereits.
    Wenn es halbwegs zuverlässig sein soll, mach es mit Sessions.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. Hallo micha,

    jedoch ist dies erst NACH dem laden möglich...

    Ich verstehe nicht, wieso das erst nach dem Laden möglich sein soll? Du kannst doch den Referer prüfen und falls der Inhalt nicht deinen Wünschen entspricht, das Script, welches das Bild ausgibt mit exit; beenden, bevor das Bild erzeugt wird.

    Aber wie Cheatah und wahsaga schon gesagt haben, wären an dieser Stelle Sessions wesentlich verlässlicher. Der Referer kann vom Client nämlich beliebig gefälscht werden oder auch fehlen.

    Schöne Grüße,

    Johannes