Hallo,
ich weiß, dass sich ein Referer (
$_SERVER['HTTP_REFERER']) manipulieren lässt, mich würde dennoch interessieren, wie vertretbar es ist, diesen auszuwerten.
Ich möchte testen, ob der Referer meine Domain enthält, um eine kleine Überprüfung einzubauen, ob eine Aktion erlaubt ist. Das mache ich so:
Code:
$referer = isset($_SERVER['HTTP_REFERER']) ? strtolower($_SERVER['HTTP_REFERER']) : '';
if (!stristr($referer, 'http://' . $config['site_name_domain']) &&
!stristr($referer, 'http://www.' . $config['site_name_domain']) &&
!stristr($referer, 'http://
localhost'))
{
die('...');
}
else
{
do_something();
}
Das Problem ist nun natürlich, dass im Falle eines leeren Referers auch "die()" ausgeführt wird.
Wie oft ist denn ein Referer leer, wenn man einen Link auf der eigenen Website anklickt?
Kann man so eine Überprüfung vertreten oder würde diese zu viele Besucher fehlerhaft erkennen?
Grüße