HTML-entiteter
Escape markup-tegn, så de vises som tekst, eller afkod dem igen.
- Kører i din browser — din tekst sendes aldrig nogen steder hen
- Ingen tilmelding, ingen kvoter, gratis at bruge så ofte, du vil
Sådan fungerer det
Hvis man sætter ufiltreret tekst ind på en webside uden at escape den, opstår cross-site scripting. Kodning omdanner de tegn, som en browser behandler som markup, til entiteter, så de vises i stedet for at blive udført.
Hvad der bliver kodet
De fem tegn, der tæller: og-tegn, mindre end, større end, dobbelt anførselstegn og apostrof. Og-tegnet skal kodes først, ellers bliver alt, der følger efter det, dobbeltkodet.
Afkodning
Afkodning omsætter navngivne og numeriske entiteter tilbage til tegn ved hjælp af browserens parser i stedet for en opslagstabel, så hele sættet håndteres korrekt.
Præcis hvad der bliver kodet
Kodningen erstatter fem tegn: & bliver til &, < bliver til <, > bliver til >, " bliver til " og ' bliver til '. Det er nok til at vise tekst sikkert i HTML og i attributter i anførselstegn. Bogstaver med accenter og emojis lades urørt, fordi UTF-8-sider viser dem direkte.
Afkodning
Afkodning forstår alle de navngivne entiteter, HTML definerer, f.eks. é, — og , samt numeriske entiteter i decimal eller hex (é, é), fordi den bruger din browsers egen HTML-parser.
HTML-entiteter – spørgsmål
Gør det mit websted sikkert mod XSS?
Escaping af output er en nødvendig del af det, men sikkerheden afhænger af, at der escapes i den rette kontekst. Brug dit frameworks egen escaping, hvis du har et.
Hvilke tegn bliver kodet?
Og-tegn, mindre end, større end, dobbelt anførselstegn og apostrof – de tegn, som en browser ellers ville læse som markup.
Bliver min tekst uploadet?
Nej. Kodningen foregår på siden.