& < > " '. Erweitert codiert zudem alle nicht-ASCII-Zeichen. Wählen Sie zwischen Entitäten mit Namen (&), Dezimalzahlen (&) oder Hexadezimalzahlen (&).So funktioniert es
HTML-Entitäten stellen Zeichen dar, die im Markup eine besondere Bedeutung haben (< > & " ') oder nicht ASCII sind, mithilfe von Sequenzen wie <, & oder ©. So zeigt der Browser sie als Text an, statt sie als Code zu interpretieren.
Es gibt drei gleichwertige Formate: benannt (©), dezimal (©) und hexadezimal (©). 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="#"><a href="#">Das Maskieren verhindert, dass der Browser die Tags interpretiert, und zeigt sie als Text an.5 < 10 & 3 > 15 < 10 & 3 > 1© 2024 · €© 2024 · €Mit dem Bereich „alle“ und benanntem Format. In Dezimal wären es © und €; in Hexadezimal © und €.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 (©) ist am lesbarsten, deckt aber nur Zeichen mit definiertem Namen ab. Das dezimale (©) und das hexadezimale (©) 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.