Wie überprüft man Formulareingaben sinnvoll?

@splasch

verstehe ich nicht :confused:

sollte man, in Anbetracht was du da alles aufzählst, nicht generell auf solche Angriffe gefasst sein und dementsprechend die Auswertung des Formulars gestalten?
Das ist doch im Prinzip in jedem Kontaktformular dasselbe.
Es gibt ja etliche vorgefertigte PHP-Mailer im www, da sollte doch ein gewisser Standard mittlerweile erreicht sein, an dem man sich orientieren kann.
Doch die meisten machen nur ganz allgemeine Abfragen mit isset oder empty, wie sie maeTimmae u. a. aufgezählt hat. Damit ist jedoch die Eingabe an sich noch nicht überprüft.

Was gibt es da noch alles, um eine Eingabe zu prüfen?
 
Wirklich sicherheitskritisch sind eigentlich nur Zeichenketten mit Metazeichen des jeweiligen Subkontexts, in dem sie weiterverarbeitet oder ausgegeben werden. Werden also beispielsweise Werte in einer SQL-Abfrage eingesetzt, gilt es also vorher die SQL-Metazeichen herauszufiltern oder zu maskieren.
 
Da gibst sehr viele möglichkeiten das zu prüfen. Eigene Funktionen oder eben die Standart befehle von php wie sprintf() oder htmlchars oder stripslashes oder mysql_escape_string() oder str_replace() oder htmlchars unsw.


Mfg Splasch
 
Die Frage dabei ist eben wieder, was dabei Sinn macht (um wieder beim Thema zu landen) :)

Man kann es ja sicherlich übertreiben. Aber wenn man einfach alles ausser Alphabet und Ziffern ausschließt kann ja eigentlich nichts passieren, oder?
Welche Zeichen sind in einer E-Mailadresse überhaupt möglich bzw. erlaubt?
 
Die Frage dabei ist eben wieder, was dabei Sinn macht (um wieder beim Thema zu landen) :)

Man kann es ja sicherlich übertreiben. Aber wenn man einfach alles ausser Alphabet und Ziffern ausschließt kann ja eigentlich nichts passieren, oder?
Welche Zeichen sind in einer E-Mailadresse überhaupt möglich bzw. erlaubt?

Ganz einfach schaue dir deine an und du findest ausser Zahlen und Buchstaben nix anderes ausser @ und . .
Falls jemand mal was ganz "ausgefallenes" hat, dann hat er bestimmt noch nee alternativ adresse weil er schon bei mehreren sachen (Foren etc.) Probleme mit der Registrierung hatte.
Sprich A-Z 0-9 @ und . sollten für 99,9% der User bei der email-adresse reichen.

mfg Spikaner
 
Ganz einfach schaue dir deine an und du findest ausser Zahlen und Buchstaben nix anderes ausser @ und . .
Falls jemand mal was ganz "ausgefallenes" hat, dann hat er bestimmt noch nee alternativ adresse weil er schon bei mehreren sachen (Foren etc.) Probleme mit der Registrierung hatte.
Sprich A-Z 0-9 @ und . sollten für 99,9% der User bei der email-adresse reichen.

mfg Spikaner

Nicht zu vergessen "Minus" und "Unterstrich". :)
 
Zum Thema reguläre Ausdrücke und Email-Adressen-Validierung findet man sehr viel im WWW, und sogar einige sehr gute Berichte. Aus einem habe ich vor Zeiten mal einen mittellangen Regex rausgenommen, analysiert, und für mich als passend empfunden. Zwar gibt es auch einen offiziellen Standard, aber der ist nicht 100%ig umsetzbar.
Für 99 bis 99.9% reicht deshalb folgender Regex:
Code:
^[a-z]+[a-z0-9]*[\.|\-|_]?[a-z0-9]+@([a-z]+[a-z0-9]*[\.|\-]?[a-z]+[a-z0-9]*[a-z0-9]+){1,4}\.[a-z]{2,4}$

Natürlich kann jeder aber auch nochmal für sich selbst losziehen und suchen oder sich einen eigenen Regex basteln ;)

Vorsicht ist übrigens mit meinem Regex geboten bei einigen Webmail-Anbietern, wie zB Web.de, die teilweise Adressen mit führendem Minus oder Zahlen zulassen :rolleyes:
 
Zurück