HTML Entities
Les entités HTML échappent les caractères à signification spéciale en HTML (<, >, &, ") sous la forme &name; ou &#NNN; afin qu'ils s'affichent littéralement au lieu d'être analysés comme balisage.
Objectif
Elles empêchent la saisie utilisateur ou le contenu dynamique d'être exécutés par le navigateur comme balises HTML, et constituent une défense fondamentale contre le XSS.
Mécanisme
Les entités nommées telles que < > & " ' couvrent les 5 caractères prédéfinis de XML. Les entités numériques &#NNN; utilisent un point de code décimal, et &#xNNN; un hexadécimal. Le décodage les développe selon la table d'entités de la DTD.
Cas d’usage
- Afficher < > & comme texte en HTML
- Échappement en sortie contre le XSS
- Symboles spéciaux en courriel HTML
- Échappement de contenu XML
Exemples
- entrée
<script>Output<script>After escaping, the browser shows text instead of executing a script
Erreurs courantes
- Escaping only < and > while missing quotes, enabling XSS in attribute contexts
- Escape by context: text needs < > &; attributes additionally need " and '
Termes associés
URL Encoding
L'encodage URL (percent-encoding) convertit en forme %HH les caractères interdits dans les URL, afin que des données arbitraires puissent figurer en toute sécurité dans les composants de l'URL. GLOSSAIRE
XSS
XSS (cross-site scripting) est l'attaque où l'attaquant injecte des scripts malveillants dans une page qui s'exécutent dans le navigateur d'autres utilisateurs ; il existe sous formes stockée, réfléchie et basée DOM. GLOSSAIRE
Unicode
Unicode est la norme internationale de codage de caractères qui attribue un point de code unique (U+0000 à U+10FFFF) à chaque caractère de la quasi-totalité des écritures du monde, avec un espace de 1 114 112 points. GLOSSAIRE
Outils associés
Encodeur d'entités HTML
Encode text to HTML entities online. Gratuit, privé et 100% côté client. OUTIL
Décodeur d'entités HTML
Decode HTML entities back to readable text online. Gratuit, privé et 100% côté client. OUTIL
Échappement HTML
Escape or unescape HTML special characters online. Gratuit, privé et 100% côté client. OUTIL