le MEMO du WEB développeur
••• PHP •••  Liste des Mémos, astuces et bonnes pratiques

Protection contre les injections HTML XCSS

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

publié le 03/01/2012 par Memo Web
Sécurité
Commentaire :
bien fait
par inconnu, le 01/02/2017
Commenter le Mémo :

Suppession des accents dans une phrase en PHP
Foncer ou eclaircir une couleur en PHP
Vérifier la validité d'une URL en PHP - Expression régulière
Convertir un format dateTime Français en format MySQL
Affectation conditionnelle sous PHP
Opérations sur les dates en PHP
Bonnes pratiques : Utilisez des simples quotes dans les chaînes PHP
Espaces parasites rajoutés lors d'un envoi de mail
Script de Backup / Sauvegarde de la Base Mysql en PHP
Une fonction file_put_contents pour PHP4
Ajoutez vos propres Mémos sur MEMO-WEB

Il suffit de vous créer un compte sur le site

Vous pourrez choisir un thème parmis l'une des catégories proposées par MEMO-WEB.

Rédigez votre Mémo.
Après validation par MEMO-WEB, il sera mis en ligne.
Ajouter vos Mémos