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

S'agit-il d'une fonction de désinfection des entrées sûre/forte ?

Je dirais que c'est trop général. Il peut être sûr pour de nombreuses utilisations, mais cela donnerait souvent des effets secondaires indésirables aux cordes. Toutes les chaînes ne doivent pas être échappées comme ça.

  • mysql_real_escape_string() doit être utilisé uniquement dans les requêtes SQL. Mieux encore, liez les paramètres avec PDO.
  • Pourquoi voudriez-vous supprimer les balises et encoder les entités avant de les insérer dans une base de données ? Peut-être le faire en sortant.
  • Pour la prévention XSS, htmlspecialchars() est plus votre ami. Donnez-lui le jeu de caractères comme argument.

Donc j'utiliserais mysql_real_escape_string() pour les requêtes, et htmlspecialchars() pour faire écho aux chaînes soumises par l'utilisateur. Il y a aussi beaucoup plus à savoir. Faites quelques plus de lecture .