sh0x
Erfahrenes Mitglied
Liebe PHP-Profis,
habe ein Formular erstellt. Wenn ich nun jedoch ein Backslash in das Textfeld setze und das Formular abschicke, dann verdoppelt PHP die Backslashes.
Ich habe Addslashes und Trim auf das POST-Array angewandt.
Wenn man jetzt immer wieder auf Absenden klickt, so erhöht sich immer mehr die Anzahl der Backslashes in dem eigentlich auf 10 Zeichen begrenzten Textfeldes. Und zwar solange, bis die folgende Fehlermeldung 100fach erscheint:
Weiß jemand, wie ich sinnvoll die Formulareingaben überprüfen kann, ohne dass Fehler dieser Art entstehen können? Und dass das Formular sicher gegen XSS-Attacken und Hijacking ist?
Folgend mein bisheriger Code:
$check_titel und $check_text sind Checkboxen. $titel und $text sind normale Textfelder, die ich per HTML auf 10 bzw 30 Zeichen begrenzt habe.
Vielen Dank für jegliche Hilfe
Any help would be appreciated
habe ein Formular erstellt. Wenn ich nun jedoch ein Backslash in das Textfeld setze und das Formular abschicke, dann verdoppelt PHP die Backslashes.
Ich habe Addslashes und Trim auf das POST-Array angewandt.
Wenn man jetzt immer wieder auf Absenden klickt, so erhöht sich immer mehr die Anzahl der Backslashes in dem eigentlich auf 10 Zeichen begrenzten Textfeldes. Und zwar solange, bis die folgende Fehlermeldung 100fach erscheint:
Code:
Warning: preg_match(): Compilation failed: regular expression too large at offset 0 in /var/www/http01/docs/temp/suchen.inc.php on line 55
Weiß jemand, wie ich sinnvoll die Formulareingaben überprüfen kann, ohne dass Fehler dieser Art entstehen können? Und dass das Formular sicher gegen XSS-Attacken und Hijacking ist?
Folgend mein bisheriger Code:
Code:
$check_titel = (isset($_POST['check_titel']) ? $_POST['check_titel'] : '');
$titel = (isset($_POST['titel']) && $_POST['titel']!='') ? addslashes(trim($_POST['titel'])) : '';
$check_text = (isset($_POST['check_text']) ? $_POST['check_text'] : '');
$text = (isset($_POST['text']) && $_POST['text']!='') ? addslashes(trim($_POST['text'])) : '';
$check_titel und $check_text sind Checkboxen. $titel und $text sind normale Textfelder, die ich per HTML auf 10 bzw 30 Zeichen begrenzt habe.
Vielen Dank für jegliche Hilfe
Any help would be appreciated