überprüfen, woher eine form gesendet wurde

Josh

Legendäres Mitglied
hallo.

ich überlege mir folgendes form-validation-system: die namen der form-input-textfelder sagen aus, auf was sie validiert werden sollen, z.b.

<input type='text' name='myText_varchar120'>

...würde bedeuten, dass das feld auf varchar 120 stellen überprüft werden sollte. dies soll automatisch gehen.

nun ist meine frage: gibt es eine möglichkeit, zu überprüfen, woher ein formular gesandt wurde? theoretisch könnte jm dann ja den quelltext der site kopieren, lokal speichern, das varchar120 auf varchar1000000 ändern und so die überprüfung umgehen?!
unsure.gif

per $_SERVER["sent_root"] oder sowas sollte sowas doch überprüft werden können?! oder gibt es einen einfachen befehl, zu checken, ob der sender-root derselbe ist wie der momentane root?

danke & gr33tz
j0sh
smile.gif
 
Die Server-Variable, welche Du suchst (und die Absenderadresse anzeigt), kann je nach System-Setup verschiedene Namen haben (siehe unten). Ich mach das jeweils so (in Perl):

@gueltige_Umgebung = ('REMOTE_HOST','REMOTE_ADDR','REMOTE_USER', 'HTTP_USER_AGENT');

Damit decke ich alle Möglichkeiten des Zielsystems ab. Ich vergleiche danach den Absender des Formulars gegen alle obigen Variablen im Array @gueltige_Umgebung. Wenn eine Übereinstimmung stattfindet, dann wird das Formular bearbeitet - wenn nicht, dann gibts Abbruch mit entsprechendem Fehler.

Der Absender ist statisch im Script definiert:
@gueltige_Absenderadresse = ('deinewebseite.ch','DEINE_IP');

Schau mal hier bei Matt's Scripting Archive vorbei (http://www.scriptarchive.com/), dort sind seit etwa 1995 die "Mutter aller Scripte" gehostet. Insbesondere "formmail.cgi" wurde seither in 'zig Variationen übersetzt (ich denke, es gibt auch eine PHP und ASP Variante - je nachdem, welche Sprache Du programmierst).

Eine Suche nach "Formmail.php" förderte diesen Link zutage mit einer PHP-Variante des obigen Perl-Scriptes http://www.dtheatre.com/scripts/formmail.php. (Insbesondere die Dokumentation http://www.dtheatre.com/scripts/formmail_doc.php scheint sehr detailliert zu sein und Du solltest damit relativ schnell zum Ziel kommen).


 
wow, danke dir!
smile.gif


das script sieht recht nützlich aus, allerdings habe ich das grundgerüst nun shcon selber programmiert, und da werd ich das in kurzer zeit wohl auch soweit haben.
 
Zurück
Oben