Enkoder / dekoder HTML

Bezpiecznie wyświetlaj input użytkownika, zamieniając < na &lt; i & na &amp;. Dekoduj encje przy odczycie zapisanych fragmentów HTML z powrotem do plain text dla indeksowania. Działa lokalnie przy debugowaniu szablonów i CMS.

Jak kodować lub dekodować HTML

1. Wybierz encode (escape) lub decode.
2. Wklej HTML lub plain text.
3. Skopiuj escapowany output do szablonu lub atrybutu.
4. Dekoduj, by czytać encje z eksportów XML/HTML.

Przykłady encji HTML

Bezpieczny komentarz użytkownika

Input <script>alert(1)</script> staje się nieszkodliwym tekstem przy encode do bezpiecznego węzła tekstowego.

Apostrof w atrybucie

O'Reilly w atrybucie title koduje cudzysłów jako &#39; lub &apos; zależnie od kontekstu.

Dekoduj eksport CMS

Opis produktu &amp; copy; dekoduje się do & do edycji.

Kiedy kodować HTML

• Gdy wstawiasz niezaufany tekst do szablonów HTML.
• Gdy debugujesz double-encoding w szablonach e-mail.
• Gdy przygotowujesz snippet HTML z wygenerowanego Markdown.

Kontekst ma znaczenie

Escaping HTML dla wartości atrybutów może różnić się od węzłów tekstowych — cudzysłowy ważne w atrybutach. OWASP cheat sheet wymienia też konteksty JS i CSS.

Najczęstsze pytania

Encje nazwane vs numeryczne?

&amp; vs &#38; — równoważne dla typowych znaków; emoji może wymagać &#x1F600; numerycznej formy.

Kodować cały dokument HTML?

Kodowanie całego doc pokazuje literalne tagi — zwykle koduj tylko dane użytkownika.

Zapobieganie XSS?

Encoding węzłów tekstowych pomaga; nigdy nie konkatenij surowego HTML użytkownika. Nagłówki CSP dodają obronę.

Znaki UTF-8?

W nowoczesnym HTML5 często zostają jako UTF-8; encje opcjonalne dla non-ASCII.

Lokalnie?

Tak.