Referer abfragen und prüfen

Identität

Erfahrenes Mitglied
Hallo,

ich bin nicht so der Überflieger in PHP, dennoch möchte ich ein Script programmieren, welches aus dem Referer z.B. das "domain.de" rausholt und das dann prüfen kann. Also in der Art so:

PHP:
<?php
$referer = $_SERVER['HTTP_Referer'];
if(preg_match('domain.de', $referer)){
 echo "Du bist nicht von hier";
}
?>

Ich denke es wird ein Anfängerfehler sein, jedoch habe ich schon die einzelnen PHP-Befehle durchgesehen und weiß nicht wo der Fehler liegt. Vielen Dank für eure Hilfe!
 
die einfachste Möglichkeit ist es eine Seite mit einem Link auf die PHP zu erstellen, da rein ein "echo $referrer" und dann mal direkt zu schaun was du als ausgabe bekommst

das ist dann ja ein string mit dem du arbeiten kannst, ich denke mal da wird ja http://www.domains.de/site.html drin stehen

btw einige firewalls und virenscanner blocken sowas.. also aufpassen
 
Du solltest auch beachten, dass nicht immer ein HTTP-Referrer-Wert existiert, da es entweder keinen gibt oder dieser nicht mitgesendet wurde.
 
Danke für eure Hilfe, aber warum funktioniert dieser Test von mir nicht? Der Referer ist vorhanden, aber er gibt nicht 1 oder 0 zurück. Es kommt rein gar nichts.

Was mache ich denn falsch?

PHP:
<?php
    echo preg_match('domain.de', $HTTP_SERVER_VARS["HTTP_REFERER"]);
?>
 
PHP:
if (!isset($_SERVER['HTTP_REFERER'])) {
  echo "Dein Browser hat keinen Header gesendet"; //oder sonst irgendeine Funktion...
else echo $_SERVER['HTTP_REFERER']
}

schreib doch das mal rein
und was kommt dann?
 
Ich glaube ich hätte es besser erklären sollen. Also der Referer soll nicht ausgegeben werden. Ich möchte prüfen ob jemand von einer Seite auf eine Andere kommt (beide gehören mir). Wenn ja, soll eine Meldung kommen das man die Seite verlassen hat. Deswegen muss der Referer geprüft werden und wenn im Referer "domain.de" vorkommt, soll eine Meldung ausgegeben werden. Tut mir Leid, dass ich mich so schlecht ausgedrückt habe ;-)

P.S. Coole Page über Abzocker hast du da ;-)
 
Hi,

Ich möchte prüfen ob jemand von einer Seite auf eine Andere kommt (beide gehören mir). Wenn ja, soll eine Meldung kommen das man die Seite verlassen hat. Deswegen muss der Referer geprüft werden und wenn im Referer "domain.de" vorkommt, soll eine Meldung ausgegeben werden.

Du kannst Dich aber nunmal nicht auf Existenz und Korrektheit des Referrers verlassen.

Warum benutzt Du preg_match, wenn Du auf einen festen String prüfen willst? Schau Dir [phpf]parse_url[/phpf] an.

LG
 
Zurück