par
Ryle » 04 juin 2007, 14:15
A chaque problème sa solution... il n'y a pas de solution "clé en main", dans la mesure où les résultats varieront selon les fonctions utilisées, il faut s'adapter au besoin
Au fait strip_tags n'est-il pas mieu que htmlspecialchars?
Ces deux fonctions n'ont pas le même effet. La première va supprimer toutes les balises html de la chaine, la seconde va convertir les caractères spéciaux en entités html, les balises seront donc transformées en < et > (on conserve donc l'information, et on peut ainsi afficher un code source html sans que celui-ci n'affecte la page)
le trim() n'est pas nécessaire, mais c'est plus propre de se débarasser des espaces superflux
addslashes() (ou les magic quotes) vont protéger les apostrophes et guillemets des chaines en les faisant précéder d'un antislashe, évitant ainsi que php (ou sql) ne les interprête comme une fin de chaine, et du coup, évitant également à un utilisateur de pouvoir injecter son propre code.
Pour utiliser la chaine dans une requête sql, il est plus intuitif d'utiliser mysql_real_escape_string()
A chaque problème sa solution... il n'y a pas de solution "clé en main", dans la mesure où les résultats varieront selon les fonctions utilisées, il faut s'adapter au besoin :)
[quote="troudball"]Au fait strip_tags n'est-il pas mieu que htmlspecialchars? [/quote]Ces deux fonctions n'ont pas le même effet. La première va supprimer toutes les balises html de la chaine, la seconde va convertir les caractères spéciaux en entités html, les balises seront donc transformées en < et > (on conserve donc l'information, et on peut ainsi afficher un code source html sans que celui-ci n'affecte la page)
le trim() n'est pas nécessaire, mais c'est plus propre de se débarasser des espaces superflux :)
addslashes() (ou les magic quotes) vont protéger les apostrophes et guillemets des chaines en les faisant précéder d'un antislashe, évitant ainsi que php (ou sql) ne les interprête comme une fin de chaine, et du coup, évitant également à un utilisateur de pouvoir injecter son propre code.
Pour utiliser la chaine dans une requête sql, il est plus intuitif d'utiliser mysql_real_escape_string()