Mysql
 sql >> Base de données >  >> RDS >> Mysql

Utilisation de php filter_var avec mysql_real_escape_string

Désinfection une chaîne sert à le rendre conforme à certaines attentes. FILTER_SANITIZE_EMAIL supprime tous les caractères d'une chaîne qui seraient invalides dans un e-mail. Le résultat est (soi-disant) garanti conforme à la syntaxe de l'adresse e-mail. Je vous laisse décider de l'utilité de supprimer aléatoirement des caractères d'une chaîne. (Astuce :je ne pense pas que ce soit très utile du tout ; vous devriez plutôt rejeter les adresses invalides que de les transformer en résultats aléatoires. Je vous donne une adresse e-mail invalide, vous la martelez en une forme qui ressemble à une adresse e-mail, maintenant comment savez-vous que vous pourrez m'envoyer un e-mail... ? !)

mysql_real_escape_string est là pour s'assurer qu'une chaîne arbitraire ne viole pas la syntaxe littérale de chaîne de SQL en échappant tous les caractères dignes d'être échappés. En supposant que vous l'utilisiez correctement (mysql a beaucoup de pièges, c'est pourquoi il est obsolète...), vous ne pouvez rien faire à son entrée qui le ferait échouer. Vous lui donnez n'importe quelle chaîne arbitraire, il vous renvoie la version échappée, point.

En tant que tel, en général, oui, ce que vous faites est bien. Si mysql_real_escape_string est le dernier chose que vous faites à votre chaîne avant de l'interpoler dans un littéral de chaîne SQL, alors tout va bien.