Leitfaden zur HTML-Entity-Kodierung, Dekodierung & XSS-Prävention
Kodieren und dekodieren Sie reservierte HTML-Zeichen, Unicode-Symbole und benannte Entitäten zur zuverlässigen XSS-Absicherung.
01. Warum HTML-Entity-Kodierung für Web-Sicherheit unverzichtbar ist
In HTML sind bestimmte Zeichen für den Browser-Parser reserviert: das kaufmännische Und (&), die Größer-/Kleiner-Zeichen (<, >) sowie einfache und doppelte Anführungszeichen.
Werden ungeprüfte Benutzereingaben mit diesen Zeichen direkt in das DOM einer Webseite eingefügt, interpretiert der Browser sie als Befehle oder HTML-Tags. Diese Verwechslung bildet die Grundlage von Cross-Site-Scripting-Angriffen (XSS).
Die HTML-Entity-Kodierung entschärft diese Gefahr, indem sie reservierte Zeichen in unschädliche Entitäten umwandelt (z. B. wird < zu <), sodass der Browser sie ausschließlich als reinen Text darstellt.
- Benannte Entitäten: <, >, &, ", '.
- Numerische Zeichenreferenzen im Dezimal- und Hexadezimalformat.
- Zuverlässige bidirektionale Kodierung und Dekodierung für Sonderzeichen und internationale Schriftsysteme.
Kontextsensitive Ausgabekodierung ist der primäre Schutz gegen Cross-Site Scripting. Kodieren Sie Benutzereingaben stets vor der Ausgabe in HTML-Seiten.
02. Schritt-für-Schritt: Entitäten kodieren und dekodieren
1. Fügen Sie Ihren Text oder HTML-Ausschnitt in den Editor ein.
2. Wählen Sie die gewünschte Operation: "Kodieren" für sicheren HTML-Text oder "Dekodieren" zum Wiederherstellen lesbarer Zeichen.
3. Bestimmen Sie das Zielformat: Benannte Entitäten (©), dezimale (©) oder hexadezimale Entitäten (©).
4. Prüfen Sie das Ergebnis in der synchronisierten Ausgabeansicht.
5. Kopieren Sie den bereinigten Text direkt in Ihren Quellcode oder Ihr Redaktionssystem.
03. Benannte vs. Numerische Entitäten im Vergleich
• Benannte Entitäten: Gut für Menschen lesbar (z. B. €), jedoch unterstützen ältere XML-Parser nur die 5 grundlegenden XML-Entitäten.
• Dezimale Entitäten: Basieren auf dem exakten Unicode-Codepoint im Zehnersystem (z. B. €) und funktionieren universell in jedem System.
• Hexadezimale Entitäten: Nutzen das Hexadezimalsystem (z. B. €) und werden besonders in E-Mail-Templates und Sicherheitstools bevorzugt.
04. Typische Sicherheits- und Formatierungsfehler vermeiden
• Kontextverwechslung: Die HTML-Kodierung schützt den normalen Seiteninhalt, schützt jedoch nicht vor XSS innerhalb von <script>-Blöcken.
• Doppelte Kodierung: Werden bereits kodierte Texte erneut kodiert, wird & zu &amp;, was zu fehlerhaften Textanzeigen führt.
• Unvollständige Attribut-Anführungszeichen: Werden HTML-Attribute nicht in Anführungszeichen gesetzt, können Leerzeichen zur Injektion neuer Attribute missbraucht werden.
Häufig gestellte Fragen (FAQ)
Schützt HTML-Entity-Kodierung vor allen Formen von XSS?
Sie schützt zuverlässig im HTML-Körper und in Attributen, innerhalb von <script>-Tags müssen jedoch JavaScript-spezifische Escapes genutzt werden.
Welches sind die fünf wichtigsten reservierten Zeichen?
Die 5 reservierten Zeichen sind & (&), < (<), > (>), " (") und ' (').
Werden eingegebene Daten online übertragen?
Nein, keinesfalls. Die gesamte Kodierung und Dekodierung läuft ausnahmslos lokal im Arbeitsspeicher Ihres Browsers ab.
Werden vertrauliche Daten bei der Nutzung von HTML-Entities Encoder an externe Server übertragen?
Nein. Die Kernverarbeitung in HTML-Entities Encoder erfolgt im flüchtigen Browserspeicher ohne Server-Uploads. Optionale Cloud-Dienste erfordern Ihre vorherige Zustimmung.
Kann ich HTML-Entities Encoder auch ohne aktive Internetverbindung (offline) nutzen?
Für die Offline-Nutzung müssen die Seite und ihre Werkzeugdateien vollständig zwischengespeichert sein. Kernfunktionen laufen dann lokal; optionale KI und Kontaktversand benötigen Internet.
Ist HTML-Entities Encoder kostenlos und gibt es Nutzungslimits?
Die Kernwerkzeuge sind kostenlos und ohne Konto nutzbar. Gerätespeicher und werkzeugspezifische Sicherheitsgrenzen gelten. Optionale KI und Online-Kontaktdienste haben Nutzungslimits.