Aller au contenu
uencoder

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 &lt; &gt; &amp; &quot; &apos; 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
    &lt;script&gt;

    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

Outils associés

References