Ou mettre le code function antiXss

Eléphant du PHP | 52 Messages

30 mars 2009, 18:41

Bonjour,

Comme je suis victime d'attaque xss, et apres recherche, j'ai trouvé un article sur les attaque xss http://www.tux-planet.fr/les-failles-de ... scripting/, mais le probleme c'est que je ne sais pas ou integrer la partie du code suivant:
function antiXss($chaine) {
   return htmlentities($chaine, ENT_QUOTES);
} 
Merci pour votre aide.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

30 mars 2009, 19:11

Le XSS consiste à mettre un code malicieux, en ligne sur ton site, permettant d'exécuter du code javascript en général. Pour cela, on se sert des variables -passées dans l'url ou via un formulaire- qui sont affichées directement dans ta page.

L'idée est donc de ne pas afficher dans ta page les variables que tu récupères de l'utilisateur sans un minimum de protection. La protection pouvant être un htmlentities() qui transformera les valeurs récupérées en entité html et éviteront leur exécution par le navigateur : au lieu de trouver "<script>alert()</script>" et d'exécuter l'alerte, le navigateur trouvera "<script>alert()</script>" qu'il affichera à l'écran sans l'interpréter.

Donc pour répondre à ta question, ta fonction doit être appellée à chaque fois que tu réaffiches à l'écran une donnée externe (récupérée en get ou en post) pour éviter d'être embêté par du cross site :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...