HTML-Entitäten

HTML-Sonderzeichen und -Entitäten kodieren und dekodieren

Anwendungsfälle

  • Benutzereingaben für sicheres HTML escapen — konvertieren Sie `<script>` in `&lt;script&gt;`, bevor Sie es in eine Vorlage einfügen.
  • Roh-HTML-E-Mail-Quelltext lesen — dekodieren Sie `&amp;` und `&#x2603;`, um zu sehen, was der Empfänger tatsächlich sieht.
  • CMS-sichere Snippets erstellen — kodieren Sie `'` und `"`, damit eine Datenbankspalte keinen SQL- oder HTML-Kontext bricht.
  • XSS-Berichte debuggen — verdächtigen Input unescapen, um die ursprüngliche Payload wiederherzustellen, die Sicherheitstools markiert haben.

Wann benötigen Sie die Kodierung von HTML-Entitäten?

Wenn vom Benutzer bereitgestellter Text in HTML gerendert wird, müssen Zeichen wie `<` und `>` als `&lt;` und `&gt;` escaped werden, um zu vermeiden, dass sie als Tags interpretiert werden. Das Überspringen dieser Maßnahme ist die Hauptursache für XSS-Sicherheitsanfälligkeiten. Das Tool kodiert die fünf grundlegenden HTML-unsicheren Zeichen sowie beliebige Unicode-Zeichen, die Sie escapen möchten.

Numerische Entitäten (`&#38;`, `&#x26;`) funktionieren in jedem HTML-Kontext. Benannte Entitäten (`&amp;`, `&copy;`) sind leichter zu lesen, funktionieren jedoch nur in HTML — XML-Parser kennen nicht alle HTML-Namen.

Beispiele

EingabeErgebnis
<script>alert('hi')</script>&lt;script&gt;alert(&#39;hi&#39;)&lt;/script&gt;
© 2024 — Wenee&copy; 2024 &mdash; Wenee

Häufig gestellte Fragen

Welche Zeichen müssen kodiert werden?

Mindestens: `<`, `>`, `&`, `"`, und `'`. Mehr zu kodieren (wie alle nicht-ASCII) ist harmlos, aber vergrößert die Ausgabe.

Sind benannte oder numerische Entitäten besser?

Benannte (`&amp;`) sind in HTML lesbarer; numerische (`&#38;`) funktionieren sowohl in HTML als auch in XML. Wählen Sie numerisch für formatübergreifende Sicherheit.

Ist die Kodierung von HTML-Entitäten dasselbe wie die URL-Kodierung?

Nein — HTML-Entitäten verwenden die Syntax `&...;` für HTML-Kontexte. Die URL-Kodierung verwendet `%XX` für URL-Kontexte. Sie dienen unterschiedlichen Ebenen.

Verhindert dies XSS?

Das Kodieren von Textinhalten in HTML-Ausgaben verhindert den häufigsten XSS-Vektor. Andere Kontexte (Attributwerte, JavaScript-Strings, CSS) benötigen ihre eigenen Escape-Regeln.

Wird mein Text irgendwohin gesendet?

Nein. Kodierung und Dekodierung erfolgen vollständig in Ihrem Browser.