23-12-2008, 10:55 PM
Bonsoir
A propos de la fonction mysql_real_escape_string(), les deux utilisations reviennent au même (à moins que sprintf ait un comportement particulier, mais je ne crois pas). Cependant ça peut devenir gênant si tu utilises un jour ce script sur un serveur où les magic_quotes sont activées : tes chaînes seront échappées deux fois et tu te retrouveras avec des "j\\\'ai mangé" au lieu de "j\'ai mangé".
N'oublie pas que tu peux te documenter sur le site officiel de PHP: http://fr2.php.net/manual/fr/function.my...string.php
Il y a des exemples, notamment pour éviter l'effet indésirable dont j'ai parlé.
Pour ce qui est de strip_tags et de htmlentities, personnellement je crois que ça tient la route même si il faudrait connaître le code derrière.
Il faut que lorsque tu stocke la valeur de l'utilisateur, elle soit bien protégée avec les mysql_real_escape_string, sinon tu es vulnérable aux injections SQL. strip_tags te protège contre les injections XSS de base, mais htmlentities reste aussi indispensable et complémentaire.
L'avantage de htmlentities, c'est tu n'as plus à te soucier des problèmes d'encodage
Cordialement
A propos de la fonction mysql_real_escape_string(), les deux utilisations reviennent au même (à moins que sprintf ait un comportement particulier, mais je ne crois pas). Cependant ça peut devenir gênant si tu utilises un jour ce script sur un serveur où les magic_quotes sont activées : tes chaînes seront échappées deux fois et tu te retrouveras avec des "j\\\'ai mangé" au lieu de "j\'ai mangé".
N'oublie pas que tu peux te documenter sur le site officiel de PHP: http://fr2.php.net/manual/fr/function.my...string.php
Il y a des exemples, notamment pour éviter l'effet indésirable dont j'ai parlé.
Pour ce qui est de strip_tags et de htmlentities, personnellement je crois que ça tient la route même si il faudrait connaître le code derrière.
Il faut que lorsque tu stocke la valeur de l'utilisateur, elle soit bien protégée avec les mysql_real_escape_string, sinon tu es vulnérable aux injections SQL. strip_tags te protège contre les injections XSS de base, mais htmlentities reste aussi indispensable et complémentaire.
L'avantage de htmlentities, c'est tu n'as plus à te soucier des problèmes d'encodage
Cordialement