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.