HTML-kódoló / dekódoló
A felhasználói bevitel biztonságos megjelenítése a < < és az & a &-ra. Az entitások dekódolása a tárolt HTML-részletek visszaolvasásakor egyszerű szöveggé a keresési indexeléshez. Helyileg fut sablon- és CMS-hibakereséshez.
Bemenet
Kimenet
Hello world
HTML kódolása vagy dekódolása
1. Válassz kódolási (kilépési) vagy dekódolási módot.
2. HTML vagy egyszerű szöveg beillesztése.
3. Másold a megtisztított kimenetet sablonhoz vagy attribútumhoz.
4. Dekódolás az entitást igénylő XML/HTML-exportok olvasásához.
HTML entitás példák
Felhasználói megjegyzések biztonságos megjelenítése
A <script>alert(1)</script> bemenet ártalmatlan szöveggé válik, ha a szövegcsomóponton keresztüli belső HTML-biztonságos beszúráshoz kódolják.
Aposztróf attribútumban
O'Reilly in title attribute encodes quote as ' or ' depending on context.
CMS exportálás dekódolása
Termékleírás & másolat; dekódolja a &-ra szerkesztéshez.
Mikor használd ezt az eszközt
• Amikor nem megbízható szöveget szúr be HTML-sablonokba.
• E-mail sablonok kettős kódolásának hibakeresésekor.
• A leértékelés által generált HTML-részletek elkészítésekor.
Mikor válassz mást
• Ha meg kell tisztítani a HTML-t engedélyezett címkékkel, használd a DOMPurify stíluskönyvtárat.
• Ha a tartalom JavaScript-karakterlánc, akkor a JS-kontextushoz a menekülési idézőjeleket is.
• Ha URL a href-ben — az URL kódolót külön kell használni.
A kontextus számít
A HTML kilépés az attribútumért. Az OWASP csalólap a JS és CSS kontextusokat is felsorolja.
Kettős kódolási hiba
&amp;amp; a DB-ben azt jelenti, hogy valaki kétszer kódolt — egyszer dekódolja, javítsa a folyamatot, egyszer kódolja a kimeneten.
HTML küldése e-mailben
Az ügyfelek eltérőek az entitások támogatásától — tesztelje a kódolt speciális karaktereket az Outlookban és a Gmailben.
Gyakori kérdések
Elnevezett vagy numerikus entitások?
& vs & — egyenértékű a közönséges karakterekkel; az emojihoz szükség lehet 😀 numerikus formában.
Teljes HTML dokumentum kódolása?
A teljes dokumentum kódolása literális címkéket jelenít meg — általában csak a felhasználói adatokat kódolja.
XSS-megelőzés?
A szöveges csomópontok kódolása segít; soha ne koncat nyers felhasználói HTML. A CSP-fejlécek védelmet nyújtanak.
UTF-8 karakterek?
A modern HTML5-ben gyakran UTF-8-ként hagyják meg; az entitások opcionálisak nem ASCII esetén.
Helyi?
Igen.
Markdown kimenet?
Párosítás a markdownToHtml-lel — a kódolás a renderelési rétegben történik a megfelelő folyamatokban.