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 &lt; ou > par &gt; à l'affichage, rendant caduque toute tentative malveillante d'injection HTML (ou javascript).

A l'affichage , dans l'exemple précédent, on affichera :

Salut &lt;strong&gt;Justine&lt;strong&gt;&lt;script src=&quot;http://hacker.com/injection.js&quot; &gt;

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

0 réponses

Laisser un commentaire

Participez-vous à la discussion?
N'hésitez pas à contribuer!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.