Brombeermilchtrinker: Referer als SIcherheitsmaßnahme?

Beitrag lesen

Hallo Forum,

ich habe mir heute Folgendes überlegt: Wenn man ein Weblog programmiert, in dem man die Möglichkeit hat, zu einem bestimmten Artikel einen Kommentar zu schreiben, dann macht man das ja so, daß in dem Formular, in dem der Kommentar eingegeben wird, in einem versteckten Input-Element die ID-Nummer des Artikels steht, damit man in der Auswertung und Weiterverarbeitung der Formulardaten, sprich des Kommentars, auch weiß, zu welchem Artikel der Kommentar gehört.

Was aber, wenn jemand den Quelltext kopiert, aus dem '<input type="hidden" name="article_id" value="23">' ein '<input type="hidden" name="article_id" value="25">' macht, das Ganze auf einem anderen Server ablegt und dort ausführt? Dann werden die Kommentar-Daten ja nach der Manipulation mit Artikel 25 statt mit Artikel 23 in Verbindung gebracht.

Meine Überlegung war jetzt, dass ich mit einem '$referer=$_SERVER["HTTP_REFERER"];' vor der Weiterverarbeitung überprüfe, ob die zu übernehmenden Usereingaben auch _wirklich_ von meinem Formular, also zB von http://example.org/formular.php kommen und erst _dann_ eine Weiterverarbeitung vornehme.

Jetzt hab ich aber gelesen, daß man den Referer nicht zu sicherheitsrelevanten Zwecken auf einer Website einzusetzen soll, weil man damit auch Leute, die zB. in einer Firma hinter einem Proxyserver, der die Refererdaten wegfiltert, sitzen, ungerechterweise ausschließen würde.

Nun frage ich mich, wie man es dann elegant löst, sich von oben beschriebenen Manipulationen zu schützen. Also wie man ganz allgemein sicherstellen kann, dass Formulardaten, die verarbeitet werden, auch wirklich vom erwarteten Formular auf dem eigenen Server kommen?

MfG

Der Brombeermilchtrinker