Manfred: Sicherheit, $_POST, $_SERVER["HTTP_REFERER"], register_globals

Beitrag lesen

Hallo,

mein Problem ist folgendes:

Um mit einem Formular über post übermittelte Daten auf einer anderen Seite benutzen zu können, muß ich bei register_globals=Off die Variable $_POST benutzen.

Beispiel:

Seite 1: <input type="hidden" name="check" value="5">

Seite 2: $check=$_POST["check"];

Angenommen, die Variable $check ist sicherheitsrelevant, dann könnte jeder beliebige User ein eigenes _POST-Formular_ schreiben, und nach Seite 2 die Variable $check mit einem anderen Wert übergeben.

Deshalb habe ich mir gedacht, die Variable $_SERVER["HTTP_REFERER"] zu benutzen, um zu überprüfen, ob die Seite, die die Variablen mit POST übermittelt wirklich von meinem eigenen Root-Server kommt.

Jetzt die Frage: Ist $_SERVER["HTTP_REFERER"] immer vorhanden (feste Root-Server-Konfiguration) oder ist das Vorhandensein der Variablen vom Browser abhängig und die Variable kann vom User geändert werden?

Wenn $_SERVER["HTTP_REFERER"] nicht sicher ist, wie prüfe ich dann, daß wirklich nur Daten benutzt werden, die ich selbst mit meinem Dokument übergeben habe?

Bin für jede Hilfe dankbar
Viele Grüße
Manfred