Se prémunir des failles XSS
La solution pour résoudre ce genre de problème est très facile, en effet une simple fonction protégeant vos variables suffit !
Il s’agit de la balise « htmlspecialchars« . Elle aura pour effet d’afficher le code qui peut être envoyé plutôt que de l’exécuter sur votre serveur. Autrement dit dans notre exemple précèdent, au lieu de voir afficher une alerte sur notre navigateur nous verrons :
"Votre nom est : <script>alert("En voilà une faille !");</script>"
Le code JavaScript aura bel et bien été échappé et ne sera donc pas exécuté !
Cette balise est à placer tout simplement devant votre variable que vous souhaitez afficher, dans notre exemple se sera donc :
<p>Résultat de l'envoi : </p> <p>Votre nom est : <?php echo htmlspecialchars($_POST['nom']); ?> </p>
Si vous souhaitez enlever aussi les balises qu’une personne aurait pu écrire, vous pouvez remplacer htmlspecialchars par strip_tags.
Et voilà, vous savez à présent comme sécuriser votre formulaire puisque rappelez vous, il ne faut jamais fait confiance à ce qu’entre l’utilisateur ! 🙂