Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql_escape_string ganzes Post-Array?

Ich würde den array_walk() verwenden Funktion. Es ist besser geeignet, da es das POST-Superglobal modifiziert, sodass alle zukünftigen Verwendungen bereinigt werden.

array_walk_recursive( $_POST, 'mysql_real_escape_string' );

Stellen Sie jedoch sicher, dass Sie sich nicht auf diese Zeile verlassen, um Ihre Datenbank vollständig vor Angriffen zu schützen. Der beste Schutz besteht darin, die Zeichensätze für bestimmte Felder einzuschränken. Ex. E-Mails enthalten keine Anführungszeichen (erlauben Sie also nur Buchstaben, Zahlen, @, Bindestriche usw.) und Namen enthalten keine Klammern (erlauben Sie also nur Buchstaben und ausgewählte Sonderzeichen)

BEARBEITEN: array_walk() geändert zu array_walk_recursive() Dank @Johans Vorschlag. Props an ihn.