Ma suggestion est de créer une fonction pour assainir toutes vos entrées de texte et une fonction pour vérifier toutes vos sorties provenant de la base de données ou de toute autre source, comme suit :
<?php
// filter for user input
function filterInput($content)
{
$content = trim($content);
$content = stripslashes($content);
return $content;
}
//filter for viewing data
function filterOutput($content)
{
$content = htmlentities($content, ENT_NOQUOTES);
$content = nl2br($content, false);
return $content;
}
selon votre stratégie, vous pouvez ajouter des fonctionnalités supplémentaires au filtre ou en supprimer certaines. Mais ce que vous avez ici est une fonction suffisante pour vous protéger contre XSS.
MODIF : en plus de la fonction ci-dessus, cette réponse peut également être pertinent dans le cadre de la protection de votre site Web.
Référence aux différentes méthodes :
- trim :http://php.net/manual/en/function. trim.php
- stripslashes :http://php.net/manual/en/function. stripslashes.php
- entités html :http://php.net/manual/en/function. htmlentities.php
- nl2br :http://php.net/manual/en/function. nl2br.php
C'est aussi une bonne idée de regarder les liens suivants :
- Quel est le meilleure méthode pour nettoyer l'entrée de l'utilisateur avec PHP ?
- La fonction ultime de nettoyage/sécurisation
Et surtout, il est bon de connaître le Top 10 des risques et d'en savoir plus à ce sujet.