& < > " ' . Extended codeert ook alle niet-ASCII-tekens. Kies tussen benoemde entiteiten (&), decimalen (& ) of hexadecimale (&).Hoe het werkt
HTML-entiteiten stellen tekens voor die een speciale betekenis hebben in de markup (< > & " ') of die geen ASCII zijn, via reeksen zoals <, & of ©. Zo toont de browser ze als tekst in plaats van ze als code te interpreteren.
Er zijn drie gelijkwaardige formaten: benoemd (©), decimaal (©) en hexadecimaal (©). Alle drie leveren hetzelfde teken op; het benoemde is leesbaarder maar bestaat alleen voor een bekende set.
Het bereik "essentieel" escapet alleen de tekens die HTML breken (& < > " '); het bereik "alle" escapet daarnaast elk niet-ASCII-teken.
Voorbeelden
<a href="#"><a href="#">Escapen voorkomt dat de browser de tags interpreteert en toont ze als tekst.5 < 10 & 3 > 15 < 10 & 3 > 1© 2024 · €© 2024 · €Met bereik "alle" en benoemd formaat. In decimaal zouden het © en € zijn; in hexadecimaal, © en €.Gebruiksscenario's
- HTML-code als tekst op een pagina tonen (voorbeelden, documentatie) zonder dat het wordt gerenderd.
- Gebruikersinvoer escapen voordat je die in HTML invoegt om XSS te voorkomen.
- Speciale symbolen (©, €, →, ½) draagbaar invoegen over coderingen heen.
- Tekst met entiteiten decoderen die is gekopieerd uit de broncode van een pagina.
Veelgestelde vragen
Welk formaat is het beste: benoemd, decimaal of hexadecimaal?
Het benoemde (©) is het leesbaarst, maar dekt alleen tekens met een gedefinieerde naam. Het decimale (©) en het hexadecimale (©) werken voor elk Unicode-teken, dus zijn ze de veilige optie voor ongewone symbolen.
Voorkomt het coderen van entiteiten XSS-aanvallen?
Het is een belangrijk deel, maar escapen moet gebeuren afhankelijk van de context (HTML-inhoud, attribuut, JavaScript of URL). Vertrouw niet op één enkele laag: gebruik ook de beschermingen van het framework.
Welke tekens moeten altijd worden geëscapet?
& < en > in de inhoud, en daarnaast " en ' binnen attribuutwaarden. Het bereik "essentieel" dekt precies die set.
Wordt mijn tekst naar een server gestuurd?
Nee. De codering en decodering gebeuren volledig in je browser.