Zum Inhalt springen
uencoder

HTML Entities

HTML-Entities escapen in HTML besonders bedeutungstragende Zeichen (<, >, &, ") in die Form &name; oder &#NNN;, sodass sie buchstäblich angezeigt statt als Markup geparst werden.

Zweck

Sie verhindern, dass Nutzereingaben oder dynamische Inhalte im Browser als HTML-Tags ausgeführt werden, und sind eine grundlegende XSS-Abwehr.

Mechanismus

Benannte Entities wie &lt; &gt; &amp; &quot; &apos; decken die 5 in XML vordefinierten Zeichen ab. Numerische Entities &#NNN; nutzen einen dezimalen Codepunkt, &#xNNN; einen hexadezimalen. Beim Dekodieren werden sie gemäß der Entity-Tabelle der DTD expandiert.

Anwendungsfälle

  • < > & als Text in HTML anzeigen
  • Output-Escaping gegen XSS
  • Sonderzeichen in HTML-E-Mails
  • XML-Content-Escaping

Beispiele

  • Eingabe
    <script>
    Output
    &lt;script&gt;

    After escaping, the browser shows text instead of executing a script

Häufige Fehler

Escaping only < and > while missing quotes, enabling XSS in attribute contexts
Escape by context: text needs < > &; attributes additionally need " and '

Verwandte Begriffe

Verwandte Tools

References