Moin!
Ich verwandel nun alle POST Var mit
foreach ( $_POST as $eingabe => $val )
{
$_POST[$eingabe] = htmlentities ( $val );
}
>
> wäre es nicht sinnvoll, falls damit in der Datenbank gearbeitet wird es so zu machen
>
>
> ~~~php
foreach ( $_POST as $eingabe => $val )
> {
> $_POST[$eingabe] = mysql_real_escape_string ((htmlentities ( $val ));
> }
Du hast den Artikel nicht verstanden, oder?
Kernaussage war dort: Kontextwechsel immer nur DORT behandeln, wo sie auftreten, niemals voreilig zu früh. Und genau das machst du hier.
Es ist nicht sinnvoll, pauschal alle Werte in $_POST und $_GET irgendwie zu behandeln! Behandle sie dann, wenn du den Kontext wechselst. Wenn $_GET auf der HTML-Seite ausgegeben werden soll: htmlspecialchars(). Wenn $_GET in die Datenbank gehen soll: mysqli_real_escape_string(). Wenn das Datenbankergebnis wieder auf die Webseite soll: htmlspecialchars() auf das Ergebnis anwenden!
Wenn du es nicht so machst, versaust du dir überall deine Daten und kannst mit ihnen nicht mehr vernünftig arbeiten.
- Sven Rautenberg