[PHP] referrer check domein (ip-nummer)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beste Tweakers,

Ik probeer met een http_referer check inhoud vrij te geven of juist te blokkeren, afhankelijk van het domein.
Ik heb goed gezocht op andere posts over dit specifieke onderwerp, en deze posts uitvoerig zitten testen. Echter zonder resultaat.

Het probleem:
Onderstaande code is een aangepaste versie van codes die anderen op dit forum plaatsten. Het echo't de $referer. Althans, zou moeten...
Want ik krijg geen output hiervan.

Mijn domein bestaat uit een ip adres: 62.166.x.x:8080 (waarbij poort 8080 de webserver-poort is). Wellicht is dat het probleem.

code:
1
2
3
4
$domein = "http://62.166.x.x:8080"; 
$referer = substr($_SERVER['HTTP_REFERER'], 0, strlen($domein)); 
echo "hier komt u vandaan:";
echo $referer;


Wie weet hoe ik kan achterhalen of iemand van een webpagina elders op dit domein komt? De $referer blijft nu angstvallig leeg bij mij...

DANK alvast.

[ Voor 3% gewijzigd door Verwijderd op 02-09-2005 17:23 ]


Acties:
  • 0 Henk 'm!

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 21:37

mulder

ik spuug op het trottoir

doe eens phpinfo()

oogjes open, snaveltjes dicht


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
1 woord: Spoof.
Precieser: Referer Spoof.

Nog duidelijker: Als je op basis van een referer content gaat toestaan of juist niet, dan ben je in no-time de sjaak. Een referer is easy te spoofen.

[ Voor 68% gewijzigd door RobIII op 02-09-2005 17:25 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat werkt:
code:
1
HTTP_REFERER  http://62.166.x.x:8080/map_naar_phpinfo/bestand.php?do=admin&p=6

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RobIII schreef op vrijdag 02 september 2005 @ 17:23:
1 woord: Spoof.
Precieser: Referer Spoof.
Sorry wat bedoel je met spoof?

"bad command or filename..."

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op vrijdag 02 september 2005 @ 17:25:
[...]

Sorry wat bedoel je met spoof?

"bad command or filename..."
edit:
Misschien niet zo'n goed idee; wat links weggehaald...

Er zijn ZAT tools om de referer mee te spoofen. Google er maar eens op...

Overigens lijkt 8080 me een proxy-poort te zijn. Wellicht dat die proxy de referer er uit sloopt? (Ik roep maar wat hoor...)

[ Voor 105% gewijzigd door RobIII op 02-09-2005 17:38 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op vrijdag 02 september 2005 @ 17:25:
[...]

Sorry wat bedoel je met spoof?

"bad command or filename..."
Hij bedoelt: je browser stuurt mee waar 'ie vandaan kwam, en aangezien dat allemaal clientside gebeurt kan de gebruiker deze waarde zelf veranderen. Conclusie: een script baseren op de referer is in principe niet veilig.

[ Voor 4% gewijzigd door Verwijderd op 02-09-2005 17:37 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op vrijdag 02 september 2005 @ 17:37:
Conclusie: een script baseren op de referer is in principe absoluut, totaal, nevernooit niet veilig.
^^
RobIII schreef op vrijdag 02 september 2005 @ 17:23:
Nog duidelijker: Als je op basis van een referer content gaat toestaan of juist niet, dan ben je in no-time de sjaak. Een referer is easy te spoofen.
offtopic:
Daar weet jij alles van he? O-)

[ Voor 5% gewijzigd door NMe op 02-09-2005 17:42 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
-NMe- schreef op vrijdag 02 september 2005 @ 17:42:
offtopic:
Daar weet jij alles van he? O-)
offtopic:
*proest*
Hoezo? :D O-)

[ Voor 5% gewijzigd door RobIII op 02-09-2005 17:44 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Doe iets als dit:
PHP:
1
2
3
4
5
6
7
8
9
10
$referer = isset($_SERVER['HTTP_REFERER']) ? ($_SERVER['HTTP_REFERER']) : (false); // bezochte domein
$domein = $_SERVER['HTTP_HOST']; // opgevraagde domein

if ($referer) {
    $referer_domein = substr($_SERVER['HTTP_REFERER'],0,strpos($_SERVER['HTTP_REFERER'],'/',7);     
    printf('Het domein was %s',$referer_domein);
}
else {
    print('Er was geen referer.');
}

Je moet dus wel naar je script toeklikken, via een link. Anders werkt het niet. Dus via de locatie-balk het adres intypen werkt niet.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RobIII schreef op vrijdag 02 september 2005 @ 17:26:
[...]

Er zijn ZAT tools om de referer mee te spoofen. Google er maar eens op...

Overigens lijkt 8080 me een proxy-poort te zijn. Wellicht dat die proxy de referer er uit sloopt? (Ik roep maar wat hoor...)
Ik heb de Apache webserver op 8080 geïnstalleerd, dus dat is geen proxy...

Uiteraard testte ik bovenstaande script dmv doorverwijzing, maar ik zit nu te denken: ik gebruik een header (location: 'ander_file.php') als doorverwijzing... Zou dat verklaren waarom er geen http_referer doorkwam in eerstgenoemde script?

Anyway als ik het goed begrijp is mijn idee om toegang te verlenen op basis van de (client-side) http_referer zwaar verouderd...

Dan wil ik bij deze vragen welke mogelijkheden (zonder .htaccess aanpassingen) er zijn om een streaming media bestand alleen toegankelijk te maken voor mensen die van één bepaalde website komen (anti-leech script-achtig)...

Dank alvast voor bovenstaande uitleg en suggesties!

Gr,
Mathijs.

[ Voor 13% gewijzigd door Verwijderd op 02-09-2005 22:21 ]


Acties:
  • 0 Henk 'm!

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Verwijderd schreef op vrijdag 02 september 2005 @ 22:19:
[...]

Ik heb de Apache webserver op 8080 geïnstalleerd, dus dat is geen proxy...

Uiteraard testte ik bovenstaande script dmv doorverwijzing, maar ik zit nu te denken: ik gebruik een header (location: 'ander_file.php') als doorverwijzing... Zou dat verklaren waarom er geen http_referer doorkwam in eerstgenoemde script?

Anyway als ik het goed begrijp is mijn idee om toegang te verlenen op basis van de (client-side) http_referer zwaar verouderd...

Dan wil ik bij deze vragen welke mogelijkheden (zonder .htaccess aanpassingen) er zijn om een streaming media bestand alleen toegankelijk te maken voor mensen die van één bepaalde website komen (anti-leech script-achtig)...

Dank alvast voor bovenstaande uitleg en suggesties!

Gr,
Mathijs.
Als je het toch al met een php scriptje wil doen kan je toch bij pagina 1 een flag in je database zetten (bijvoorbeeld op het ip-adres), en bij de downloadpagina checken of die flag er staat?

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Mjah, of gewoon sessions gebruiken. Je downloads gaan dan via een PHP-script. (Tip: fpassthru. ;) )

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
-NMe- schreef op zaterdag 03 september 2005 @ 00:31:
Mjah, of gewoon sessions gebruiken. Je downloads gaan dan via een PHP-script. (Tip: fpassthru. ;) )
heb met fpassthru geprobeerd, maar helaas is een streaming file (met het mms-protocol via een streaming server) dan niet meer 'streaming', maar moet eerst met de php functie gedownload worden...

anyway ik ga het met sessies proberen..

Acties:
  • 0 Henk 'm!

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 23-07 18:19
sorry, maar ik moet het even kwijt.
"Wij Tweakers groeten elkaar permanent, dus dat hoeft niet in je posts erbij".
Iig is iets van gelijke strekking in de FAQ/policy te vinden :)

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt

Pagina: 1