Rolf B: getRequestBody-Methode gibt keine Formular-Werte aus

Beitrag lesen

Hallo borisbaer,

FILTER_SANITIZE_SPECIAL_CHARS - HTML-Kodierung von '"<>& und Zeichen mit ASCII-Wert kleiner als 32

Da hat Martin recht, das ist als Eingabefilter nicht per se erforderlich. Für die Übergabe an die DB verwendest Du sowieso prepare um den Kontextwechsel zu kapseln. Und bei der späteren Ausgabe ins HTML verwendest Du htmlspecialchars, das übernimmt diesen Sanitäter-Job ohnehin.

Diese Maskierung in der Eingabe ist sogar schädlich, denn auf einmal steht da ein &amp; wo eigentlich ein & stand, und damit sind ggf. String-Positionen nicht mehr das, was sie mal waren. Oder Vergleiche schlagen fehl, weil Du bspw. testen möchtest, ob jemand "Deathmatch & Co" eingegeben hat. Oder eine DB-Suche scheitert, weil jemand das Spiel "Bumm & Knall" gesucht hat. Du willst diese Zeichen nicht ohne Not maskiert in der DB stehen haben.

Den $_POST im foreach hätte ich vermutlich auch erst nach einer Stunde gesehen. Mann mann mann…

Rolf

--
sumpsi - posui - obstruxi