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

Comment puis-je nettoyer correctement les données reçues d'une zone de texte, lors de leur sortie dans la zone de texte ?

Vous ne devez pas utiliser les htmlentities lors de sa sauvegarde. Vous devez utiliser des htmlentities lors de son affichage. La règle d'or est de ne pas encoder/désinfecter les données tant que vous n'en avez pas besoin. Si vous faites des htmlentities dessus lorsque vous enregistrez, vous devez faire html_entity_decode sur le texte lorsque l'utilisateur souhaite modifier l'entrée. Donc, vous désinfectez pour ce dont vous avez besoin et rien de plus. Lors de l'enregistrement, vous devez nettoyer pour l'injection SQL, donc vous mysql_real_escape_string ce. Lors de l'affichage, vous devez nettoyer pour XSS, donc vous htmlentities il.

De plus, je ne sais pas si vous avez vu le commentaire de Darryl Hein, mais vous ne voulez vraiment pas que magic_quotes soit activé. Ils sont une mauvaise, mauvaise chose et ont été obsolètes à partir de PHP 5.3 et disparaîtront complètement dans PHP 6.