Moin Claus,
für eine Auswahlliste möchte ich auf Checkboxen zurückgreifen, dabei stellt sich mir ausgehend von einem Zitat bei php.de
Achtung! Häufig gemachter Fehler:
Für Auswahlfelder und -listen werden die Gefahren von XSS oftmals unterschätzt, weil sie im Gegensatz zu Textfeldern keine direkte Eingabe von Schadcode ermöglichen. In Anbetracht der Tatsache, dass in einem gefälschten Formular allein die richtige Angabe des name-Attributs ausreicht, um beliebige Werte und Werttypen für beliebige Elemente übermitteln zu können, ist die Annahme jedoch haltlos und damit besonders gefährlich.die Frage, wie man das sinnvollerweise anstellt.
Du musst prüfen, ob der vom Auswahlfeld übermittelte Wert dem entspricht, was du erwartest – stell dir dabei vor, dass jemand das Auswahlfeld oder die Auswahlliste durch eine textarea
ersetzt hätte.
Bisher habe ich, von einem Checkbox-Feld ausgehend, folgendes:
if(isset($_POST['MailRecip'])) { foreach ($_POST['MailRecip'] as $name) { //if(preg_match('/^[a-zA-ZäöüÄÖÜß\-]{3,40}$/', $name)==false) exit(header('Location: ...')); if (array_key_exists($name, array_Recip)==false) exit(header('Location: ...')); } }
Was ist denn array_Recip
für eine Konstante?
Was aber, wenn andere gleichbenannte Formularelemente kommen, wie ließe sich das umfassend lösen?
Du erwartest, dass MailRecip
ein Array enthält. Was passiert denn im foreach
, wenn das nicht der Fall ist?
Viele Grüße
Robert