$HTTP_REFERER on?

massel

Mitglied
Hallo,

wie und wo kann ich herausfinden ob diese aktiviert oder nicht ist?
Ich benutze die aktuelle Xamp und die aktuellen Versionen von Apache+PHP.

Warum? Ich verwende ein Script das diesen referer benötigt, bisweilen funktioniert das jedoch nicht und ich denke das ich auf meinem local das halt deaktiv habe.
 
Die Variable $HTTP_REFERER ist nur gefüllt, wenn die php-Option register_globals aktiviert ist, ansonsten kommst du nur über $_SERVER['HTTP_REFERER'] daran. In den aktuellen php-Versionen ist register_globals allerdings aus Sicherheitsgründen deaktiviert, siehe hier (PHP-Dokumentation).

Du könntest jetzt am Anfang des Datei die Variable mit $HTTP_REFERER = $_SERVER['HTTP_REFERER'] wieder zurücksetzen, allerdings wird dann wahrscheinlich noch einiges anderes nicht funktionen, wenn das Script für aktivierte register_globals entworfen ist. Am besten suchst du dir was neues oder schreibst das bestehende um. Ich würde register_globals nicht wieder einfach aktivieren, aber wenns gar nicht anders geht kannst du das auch per htaccess für das eine Verzeichnis aktivieren, wie das geht steht auch in der PHP-Dokumentation.
 
wie und wo kann ich herausfinden ob diese aktiviert oder nicht ist?

wie wärs mit isset()?

Von php.net:
'HTTP_REFERER'
Die Adresse der Seite (falls es eine gibt), die den Browser auf die aktuelle Seite verwies. Dieser Header wird vom Browser gesetzt, aber nicht von allen. Einige Browser bieten die Möglichkeit, den HTTP_REFERER zu modifizieren. Kurz, auf diesen Header kann man sich nicht verlassen.

Ergo -> Entweder du hast die Seite direkt in der Adresszeile eingegeben oder aber du hast in deinem Browser das Senden des Referers deaktiviert/modifiziert/...
 
phpinfo();

das in eine php datei dann bekommst du alle infos über php

du kannst machen

print_r($_SERVER);

damit kennst du auch HTTP_REFERER und andere Server Variablen.

probiers mal aus ;)

PS: Hör dich mal um zum Thema register_globals
 
Zurück