0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Konfiguration
Codieren und decodieren Sie HTML-Elemente. Wesentlich codiert nur die 5 Zeichen, die HTML brechen: & < > " '. Erweitert codiert zudem alle nicht-ASCII-Zeichen. Wählen Sie zwischen Entitäten mit Namen (&amp;), Dezimalzahlen (&#38;) oder Hexadezimalzahlen (&#x26;).
Operation
Reichweite
Format
0

So funktioniert es

HTML-Entitäten stellen Zeichen dar, die im Markup eine besondere Bedeutung haben (< > & " ') oder nicht ASCII sind, mithilfe von Sequenzen wie &lt;, &amp; oder &#169;. So zeigt der Browser sie als Text an, statt sie als Code zu interpretieren.

Es gibt drei gleichwertige Formate: benannt (&copy;), dezimal (&#169;) und hexadezimal (&#xA9;). Alle drei erzeugen dasselbe Zeichen; das benannte ist lesbarer, existiert aber nur für einen bekannten Satz.

Der Geltungsbereich „essenziell“ maskiert nur die Zeichen, die HTML beschädigen (& < > " '); der Bereich „alle“ maskiert zusätzlich jedes Nicht-ASCII-Zeichen.

Beispiele

<a href="#">&lt;a href=&quot;#&quot;&gt;Das Maskieren verhindert, dass der Browser die Tags interpretiert, und zeigt sie als Text an.
5 < 10 & 3 > 15 &lt; 10 &amp; 3 &gt; 1
© 2024 · €&copy; 2024 · &euro;Mit dem Bereich „alle“ und benanntem Format. In Dezimal wären es &#169; und &#8364;; in Hexadezimal &#xA9; und &#x20AC;.

Anwendungsfälle

  • HTML-Code als Text auf einer Seite anzeigen (Beispiele, Dokumentation), ohne dass er gerendert wird.
  • Benutzereingaben maskieren, bevor sie in HTML eingefügt werden, um XSS zu verhindern.
  • Sonderzeichen (©, €, →, ½) portabel über Codierungen hinweg einfügen.
  • Text mit Entitäten decodieren, der aus dem Quellcode einer Seite kopiert wurde.

Häufige Fragen

Welches Format ist am besten: benannt, dezimal oder hexadezimal?

Das benannte (&copy;) ist am lesbarsten, deckt aber nur Zeichen mit definiertem Namen ab. Das dezimale (&#169;) und das hexadezimale (&#xA9;) funktionieren für jedes Unicode-Zeichen, also die sichere Option für ungewöhnliche Symbole.

Verhindert das Codieren von Entitäten XSS-Angriffe?

Es ist ein wichtiger Teil, aber das Maskieren muss je nach Kontext erfolgen (HTML-Inhalt, Attribut, JavaScript oder URL). Verlasse dich nicht auf eine einzige Schicht: Nutze auch die Schutzmechanismen des Frameworks.

Welche Zeichen müssen immer maskiert werden?

& < und > im Inhalt und zusätzlich " und ' innerhalb von Attributwerten. Der Bereich „essenziell“ deckt genau diesen Satz ab.

Wird mein Text an einen Server gesendet?

Nein. Die Codierung und Decodierung erfolgen vollständig in deinem Browser.