Kódování / dekódování HTML

Bezpečné zobrazení uživatelského vstupu převodem < na &lt; a & do &amp;. Dekódujte entity při čtení uložených úryvků HTML zpět na prostý text pro indexování vyhledávání. Běží lokálně pro ladění šablon a CMS.

Jak kódovat nebo dekódovat HTML

1. Vyberte režim kódování (escape) nebo dekódování.
2. Vložte HTML nebo prostý text.
3. Zkopírujte escapovaný výstup pro šablonu nebo atribut.
4. Dekódujte pro čtení exportů XML/HTML s velkým množstvím entit.

Příklady HTML entit

Bezpečné zobrazení uživatelského komentáře

Vstup <script>alert(1)</script> se stane neškodným textem, když je zakódován pro bezpečné vkládání pomocí vnitřního HTML pomocí textového uzlu.

Apostrof v atributu

O'Reilly in title attribute encodes quote as &#39; or &apos; depending on context.

Dekódovat export CMS

Popis produktu &amp; kopie; dekóduje do & pro úpravy.

Kdy kódovat HTML

• Při vkládání nedůvěryhodného textu do HTML šablon.
• Při ladění dvojitého kódování v e-mailových šablonách.
• Při přípravě úryvků HTML generovaných markdown.

Na kontextu záleží

HTML escapování pro hodnoty atributů se může lišit od textových uzlů — na uvozovkách v atributech záleží. Cheat sheet OWASP uvádí také kontexty JS a CSS.

Časté dotazy

Pojmenované vs číselné entity?

&amp; vs &#38; — ekvivalent pro běžné znaky; emotikony mohou potřebovat &#x1F600; číselná forma.

Kódovat celý HTML dokument?

Kódování celého dokumentu zobrazuje doslovné značky — obvykle kóduje pouze uživatelská data.

Prevence XSS?

Kódování textových uzlů pomáhá; nikdy spojovat nezpracované uživatelské HTML. Hlavičky CSP přidávají obranu.

Znaky UTF-8?

V moderním HTML5 se často ponechává jako UTF-8; entity nepovinné pro non-ASCII.

Místní?

Ano.