![]() |
[PHP] Zuverlässigkeit des Referers?
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:
Das Problem ist nun natürlich, dass im Falle eines leeren Referers auch "die()" ausgeführt wird.
$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(); } 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 |
Re: [PHP] Zuverlässigkeit des Referers?
Zitat:
Zitat:
Grüße |
Re: [PHP] Zuverlässigkeit des Referers?
Hi,
Firewalls blocken Referer, oha. Dann ist das natürlich nichts. Evtl. kann ich auch über die Sitzung gehen und dort die aktuelle Seite hinterlegen. Dann werde ich mal in der Richtung was testen, danke. Grüße Edit: Wie sieht es denn mit $_SERVER['REDIRECT_URL'] aus? Besteht das Problem dort auch? |
Re: [PHP] Zuverlässigkeit des Referers?
Zitat:
Zitat:
Siehe auch hier: ![]() |
Re: [PHP] Zuverlässigkeit des Referers?
Hallo, danke.
Eigentlich benötige ich ja gar nicht die genaue URL. Ich setze einfach einen Session-Wert (=1), wenn man die Seite besucht. Ist dieser gesetzt, kommt man von der Seite, wenn nicht, dann nicht. Bei der Überprüfung lösche ich den Wert wieder, sofern er gesetzt war. Der Schutz ist besser als gar keiner, auch wenn er nicht 100% sicher ist (gibt's eh nicht). Zitat:
Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz