HTML-Entitäten
HTML-Sonderzeichen und -Entitäten kodieren und dekodieren
Anwendungsfälle
- Benutzereingaben für sicheres HTML escapen — konvertieren Sie `<script>` in `<script>`, bevor Sie es in eine Vorlage einfügen.
- Roh-HTML-E-Mail-Quelltext lesen — dekodieren Sie `&` und `☃`, 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 `<` und `>` 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 (`&`, `&`) funktionieren in jedem HTML-Kontext. Benannte Entitäten (`&`, `©`) sind leichter zu lesen, funktionieren jedoch nur in HTML — XML-Parser kennen nicht alle HTML-Namen.
Beispiele
| Eingabe | Ergebnis |
|---|---|
| <script>alert('hi')</script> | <script>alert('hi')</script> |
| © 2024 — Wenee | © 2024 — 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 (`&`) sind in HTML lesbarer; numerische (`&`) 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.
