[php]image tonen adh van HTTP_REFERER

Pagina: 1
Acties:

Onderwerpen


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 06-12-2022
Ben aan het knoeien met iets waar ik ff niet van weet of het wel kan...

Ik wil aan de hand van de referer bepalen of iemand een image wel of niet te zien krijgt.
Dus; bezoeker komt na login op een pagina en klikt de thumbnail aan.
Een popup met de betreffende image wordt geopend, de image src wordt mbv image.php?id=1 bepaald.

De testjes die ik heb gedaan werkte wel als ik de image.php?id=1 direct aanriep via een normale link, dus een image oproepen zonder een page er omheen.
Maar als ik een page laat popup'en met daarin een image-tag dan werkt het niet meer..

Kan ik met PHP (HTTP_REFERER) checken of de bezoeker wel daadwerkelijk de popup heeft geopend of de image.php?id=1 via de url-balk aanroept?
Ik kan me namelijk voorstellen dat de aanroep van image.php via de src-tag niet als referer gezien wordt...maar dat kan ik mis hebben natuurlijk :)

www.jurgroessen.nl


  • QuarK
  • Registratie: Maart 2000
  • Laatst online: 08-07 13:40
Waarom probeer je het niet gewoon met een testscriptje?
Bedenk wel dat de HTTP_REFERER info van de client vandaan komt, die is dus te faken..

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

een mogelijkheid is om met sessies te werken. op je overzichtpagina maak je een sessie variabele aan, en in je image.php check of dat deze geset is

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Dat laatste heb je in ieder geval goed.. Je krijgt geen referrer mee als je hem als src in een img gebruikt. Wat je wel kunt doen als je perse met referrer wilt werken is deze in javascript aan je image.php meegeven.

Handiger is echter om niet de referrer te gebruiken, maar inderdaad met sessie oid.

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 06-12-2022
QuarK schreef op 12 December 2002 @ 11:48:
Waarom probeer je het niet gewoon met een testscriptje?
Bedenk wel dat de HTTP_REFERER info van de client vandaan komt, die is dus te faken..
Zoals ik al zei heb ik dat ook gedaan maar dat werkt dus niet op de bedoelde manier vanuit een:
HTML:
1
[img]"image.php?id=1"[/img]

maar wel als ik een link maak direct naar de image:
HTML:
1
<a href="image.php?id=1" target="_self">klik</a>
thomaske schreef op 12 December 2002 @ 12:08:
een mogelijkheid is om met sessies te werken. op je overzichtpagina maak je een sessie variabele aan, en in je image.php check of dat deze geset is
ehm, is het dan niet zo dat wanneer je de image.php?id=1 direct in je url-balk copy/paste die sessievar nog bestaat en je dus toch direct de image kan oproepen?

www.jurgroessen.nl


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

Hangloozz schreef op 12 december 2002 @ 12:14:
[...]
ehm, is het dan niet zo dat wanneer je de image.php?id=1 direct in je url-balk copy/paste die sessievar nog bestaat en je dus toch direct de image kan oproepen?
Jah, maar alleen wanneer je afgelopen X minuten (X = lifetime van je sessie) op de index-pagina bent geweest en dat is toch de bedoeling?

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 06-12-2022
nou, eigenlijk niet... :P

de bedoeling is dat images niet opgeroepen kunnen worden door direct het pad ernaar in de url-balk te typen.
Alleen als de popup geopend is mag de juiste getoond worden.
Veeleisend?
ja, maar dan heb ik ook een redelijk goed antileech tooltje.. :)
alleen printscreen blijft dan nog over..

www.jurgroessen.nl


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

hmm..
Wanneer je je image zo aanroept:
code:
1
[img]"image.php?id=1"[/img]

wordt er dan helemaal geen referrer meegegeven?

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Bosmonster:
Dat laatste heb je in ieder geval goed.. Je krijgt geen referrer mee als je hem als src in een img gebruikt.

welles. Ik heb iets dergelijks gedaan in mijn icon in het DHTML snowstorm topic, waarbij je enkel in dat topic een Dark Templar (Starcraft) in mijn icon ziet. (of, iig zou moeten zien, want bij mij werkt 't ook ;))

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

drm schreef op 12 December 2002 @ 12:58:
[nohtml]
[...]
[/nohtml]
welles. Ik heb iets dergelijks gedaan in mijn icon in het DHTML snowstorm topic, waarbij je enkel in dat topic een Dark Templar (Starcraft) in mijn icon ziet. (of, iig zou moeten zien, want bij mij werkt 't ook ;))


Hmmm.. nog eens naar kijken dan, want ik kreeg in PHP alleen een lege REFERRER in mn stats-script dat ook gebruik maakt van een img src=bla.php..

Wat jouw probleem betreft Hanloozz. Als het je alleen gaat om dat een plaatje niet los aangeroepen mag worden, waarom check je dan niet gewoon de locatie?

if ($_SERVER['PHP_SELF'] == "image.php") {
echo "klootzak";
} else {
echo "plaatje";
}

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

Bosmonster schreef op 12 December 2002 @ 13:01:
Wat jouw probleem betreft Hanloozz. Als het je alleen gaat om dat een plaatje niet los aangeroepen mag worden, waarom check je dan niet gewoon de locatie?

if ($_SERVER['PHP_SELF'] == "image.php") {
echo "klootzak";
} else {
echo "plaatje";
}
Ik denk niet dat dit helemaal gaat werken, aangezien het plaatje volgens mij altijd via image.php wordt opgevraagd..

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

[nohtml]
Bosmonster:
Hmmm.. nog eens naar kijken dan, want ik kreeg in PHP alleen een lege REFERRER in mn stats-script dat ook gebruik maakt van een img src=bla.php..
Misschien omdat er in het woord HTTP_REFERER maar 2 'r'-en staan? ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

drm schreef op 12 December 2002 @ 13:09:Misschien omdat er in het woord HTTP_REFERER maar 2 'r'-en staan? ;)
:D Maar goed, dan nog: 'HTTP_REFERER':
The address of the page (if any) which referred the user agent to the current page. This is set by the user agent. Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trusted.

bron

Sundown Circus


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

da's bekend, ja, RedRose :)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

drm schreef op 12 December 2002 @ 13:23:
da's bekend, ja, RedRose :)
Ja ja, al goed. ;) Maar een manier om dit zonder sessies of database voor elkaar te krijgen is door een link te creëeren naar een tijdelijk pad op je server (dat je dan dus ook moet creëren) en dan daarheen te linken via je thumbnail.

Sundown Circus


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 06-12-2022
RedRose schreef op 12 December 2002 @ 13:38:
Maar een manier om dit zonder sessies of database voor elkaar te krijgen is door een link te creëeren naar een tijdelijk pad op je server (dat je dan dus ook moet creëren) en dan daarheen te linken via je thumbnail.
ehm.. :/
ik geloof dat ik die niet helemaal vat..

maar:
Het kan dus in principe wel via de referer maar is niet safe.
Okee, maakt op zich niet zoveel uit, want al zou ik het refer-ding met JS oplossen is dat ook niet echt safe.

www.jurgroessen.nl


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

drm schreef op 12 December 2002 @ 13:09:
[...]

Misschien omdat er in het woord HTTP_REFERER maar 2 'r'-en staan? ;)


Ja.. ik had rekening gehouden met de spelfout in PHP... ;)
Pagina: 1