[PHP] HTTP_REFERER

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

ik ben bezig met een site die alleen maar via banners bereikbaar wordt,
er komt dus een HTTP_REFERER checker in en er gaat een unieke code mee die weer in de database aan de bannerhouder gekoppeld is.
kom he dus niet via een site, of een banner houdende site, dan krijg je het no acces scherm.

Maar het probleem is: ik heb het op meerdere plekken getest, maar nu heeft de klant gekeken, via de testbanner site maar die krijgt het no acces scherm te zien.

PHP:
1
2
3
4
5
6
7
8
9
10
session_start();
$from = $_SERVER['HTTP_REFERER'];

if($from == "")
{
    echo"[img]'img/noacces.gif'[/img]";
}
else
{
    \\wel toegang


iemand enig idee waarom hij die fout krijgt?

Acties:
  • 0 Henk 'm!

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
sommige browsers / firewalls slopen de http-referer... het is beter om met een bepaalde o.i.d. te werken...

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Acties:
  • 0 Henk 'm!

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

Bosmonster

*zucht*

Omdat de referrer niet betrouwbaar is?

Acties:
  • 0 Henk 'm!

  • Dutchmega
  • Registratie: September 2001
  • Niet online
Je krijgt alleen een HTTP_REFERER als je naar die plek gaat via een link op een andere site. Dus als je zelf in de browser-adresbalk het adres gaat invoeren, heb je GEEN referer

Toevoeging:
PHP:
1
2
3
4
5
/* Dit dus niet! */
if($from == "")     

/* Maar dit! */
if (empty ($from))

[ Voor 27% gewijzigd door Dutchmega op 18-03-2004 11:00 ]


Acties:
  • 0 Henk 'm!

  • oscarvdb
  • Registratie: December 2001
  • Laatst online: 20-05 09:45

oscarvdb

and like that...

Verwijderd schreef op 18 maart 2004 @ 10:55:
Hallo,

ik ben bezig met een site die alleen maar via banners bereikbaar wordt,
er komt dus een HTTP_REFERER checker in en er gaat een unieke code mee die weer in de database aan de bannerhouder gekoppeld is.
kom he dus niet via een site, of een banner houdende site, dan krijg je het no acces scherm.

Maar het probleem is: ik heb het op meerdere plekken getest, maar nu heeft de klant gekeken, via de testbanner site maar die krijgt het no acces scherm te zien.

PHP:
1
2
3
4
5
6
7
8
9
10
session_start();
$from = $_SERVER['HTTP_REFERER'];

if($from == "")
{
    echo"[img]'img/noacces.gif'[/img]";
}
else
{
    \\wel toegang


iemand enig idee waarom hij die fout krijgt?
Volgens mij geeft niet elke browser een referer mee. Vraag eens wat voor browser hij draait.

Ik zou je else trouwens even afsluiten met een } ...

... he's gone.


Acties:
  • 0 Henk 'm!

  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 01-09 10:26
Ik gebruikte het ook erg vaak (mijn fout ..), en zie nu dat steeds meer mensen tools als internet security gebruiken die je referer slopen waardoor dit soort scripts niet meer werken.
Ik gebruik het met name om na het submitten van een form weer terug te kunnen linken naar waar de gebruiker vandaan kwam. Dat heb ik nu opgelost door via javascript document.location mee te sturen als variabele (ook niet 100% waterdicht, maar wel waterdichterder (-:)

Misschien kan je in de pagina waar je vandaan komt zoiets er bij zetten, of in de pagina waar je vandaan komt $_SERVER['REQUEST_URI'] in de banner link plakken om alsnog te kunnen controleren waar je vandaan komt.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Tja...denk dat het dan daar aan ligt, of aan de browser of aan de firewal..

ik doe hetwel niet met referer, ik laat wel een code of hidden id meegaan die overeenkomt met de code van de bannerhouder in de database.

In iedergeval bedankt.

Acties:
  • 0 Henk 'm!

  • Basszje
  • Registratie: Augustus 2000
  • Laatst online: 16:37

Basszje

Reisvaap!]

Ik zou inderdaad ook gewoon een bepaalde code toevoegen. Overigens let je dan wel op eventueel misbruik van die code? Maw ik zou een vorm van encryptie oid gebruiken zodat je kan bekijken of de code wel geldig is

Beware of listening to the imposter; you are undone if you once forget that the fruits of the earth belong to us all, and the earth itself to nobody.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik laat de code wel zien,
het is een digitale winkel die al werkt maar de klant wil alleen verkopen via andere sites, als ze misbruik van de code gaan maken, maar toch iets kopen komt het bij de rekening op van de bannerhouder (die krijgt 10 a 15 procent van het verkochte product) dus van mij mogen ze code zien.

Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

Je kunt toch ook wel gewoon met GET of POST werken.

GET is het makkelijkst,, maar zichtbaar in de url. De banner is dan gewoon een link met www.jouwsite.nl?bannerhouder_id=34fg21. Die id's gooi je in een database of array en als die niet klopt: no_access.

POST kan ook, dan zie je alleen de link naar www.jouwsite.nl en wordt de banner zelf de submit-knop. In het form komt dan een hidden field met de id.
Pagina: 1