Kódovanie textu pre HTML textový uzol
Tento smer použite, keď má doslovný text byť na stránke viditeľný bez toho, aby prehliadač považoval ostré zátvorky za značky. Ak zadáte <b>ahoj</b>, výstup obsahuje referencie pre zátvorky a neskorší HTML parser môže úryvok zobraziť ako text. Ampersand sa ošetruje ako prvý, aby sa existujúca sekvencia podobná entite nespracovala nečakane. Nástroj ošetruje aj úvodzovky, no výsledok tým nie je všeobecne bezpečný pre každý atribút alebo skript.
Nekódujte celý dôveryhodný HTML dokument, ak chcete značky skutočne vykresliť: uvideli by ste ich znaky namiesto formátovaného obsahu. Pri komentároch používateľov uprednostnite textContent alebo bezpečné vkladanie textu vo frameworku; tieto rozhrania riešia správny kontext. Ak sa hodnota dostane do href, pravidla štýlu alebo reťazca JavaScriptu, použite bezpečné rozhranie určené pre dané miesto.
HTML entity a kontext prehliadača
HTML vyhradzuje znaky ako ampersand a ostré zátvorky pre značkovanie. Znakové referencie umožňujú zapísať ich ako dáta: & napríklad predstavuje ampersand a < znak menší ako. Prehliadač ich interpretuje pri spracovaní HTML. Existujú pomenované aj číselné referencie, no ich význam závisí od kontextu, v ktorom ich číta HTML parser. Text podobný entite v obyčajnom súbore ešte neznamená, že bol tento súbor vykreslený ako HTML.
Je dôležité rozlišovať textový obsah a vykonateľné značkovanie. Bezpečné zobrazenie textu od používateľa na stránke nie je to isté ako vloženie dôveryhodného HTML fragmentu. Textový uzol, atribút, URL, pravidlo CSS aj reťazec JavaScriptu majú odlišné požiadavky na ošetrenie. Prevod entít je spôsob zápisu, nie úplná bezpečnostná politika ani sanitizácia HTML. Na konkrétne miesto vloženia hodnoty použite vhodné šablóny alebo rozhranie DOM.
Ako používať prevodník
Začnite pôvodným textom a overte, že cieľová aplikácia skutočne vyžaduje zakódovaný zápis. Vložte text alebo načítajte príklad a pred kopírovaním si prezrite výstup. Prevod beží v tomto prehliadači; text sa neposiela na server na konverziu. Tento smer mení zápis informácie, nie význam vety. Pri hľadaní chyby ponechajte zdroj vedľa výsledku a nekódujte dvakrát, pokiaľ cieľový formát výslovne nežiada dve vrstvy.
Ak potrebujete výsledok spätne skontrolovať, ponechajte si pôvodný vstup. Zakódovaný zápis môže vyzerať celkom inak ako text, najmä pri diakritike, emoji, interpunkcii alebo nových riadkoch. Pred použitím výsledku v inom programe zistite, aké kódovanie znakov a presný formát očakáva. Najprv skúste krátky známy príklad a porovnajte výstup v cieľovej aplikácii: podobne vyzerajúce formáty nemusia byť zameniteľné.