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

Verwendung von php filter_var mit mysql_real_escape_string

Desinfektion eine Zeichenfolge dient dazu, bestimmte Erwartungen zu erfüllen. FILTER_SANITIZE_EMAIL entfernt alle Zeichen aus einer Zeichenfolge, die in einer E-Mail ungültig wären. Das Ergebnis entspricht (angeblich) garantiert der E-Mail-Adresssyntax. Wie nützlich das zufällige Entfernen von Zeichen aus einer Zeichenfolge ist, überlasse ich Ihnen. (Tipp:Ich halte es überhaupt nicht für sehr nützlich; Sie sollten ungültige Adressen lieber ablehnen, als sie in zufällige Ergebnisse umzuwandeln. Ich gebe Ihnen eine ungültige E-Mail-Adresse, Sie hämmern sie in eine Form, die einer E-Mail-Adresse ähnelt, jetzt wie weißt du, dass du mir eine E-Mail schicken kannst...?!)

mysql_real_escape_string soll sicherstellen, dass ein beliebiger String nicht gegen die String-Literal-Syntax von SQL verstößt, indem alle Escape-würdigen Zeichen maskiert werden. Angenommen, Sie verwenden es richtig (mysql hat viele Fallstricke, weshalb es veraltet ist ...), gibt es nichts, was Sie mit seiner Eingabe tun können, was es zum Scheitern bringen würde. Sie geben ihm einen beliebigen String, er gibt Ihnen die Escape-Version zurück, Punkt.

Als solches ist im Allgemeinen ja, was Sie tun, in Ordnung. Wenn mysql_real_escape_string ist die letzte was Sie mit Ihrem String machen, bevor Sie ihn in ein SQL-String-Literal interpolieren, dann ist es in Ordnung.