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...