HTML Escape/Unescape
HTML Escape/Unescape
HTML Escape/Unescape supporta l’escape e l’unescape delle entità HTML, gestisce caratteri speciali e visualizzazione dei tag ed è adatto a input utente, esempi di codice e sicurezza dei contenuti.
Avvio rapido
Scenari comuni
Commenti utente
fai l’escape dei commenti inviati dagli utenti per prevenire XSS.
Articoli di blog
mostra esempi di codice HTML all’interno dei contenuti.
Post su forum
visualizza in sicurezza i contenuti generati dagli utenti.
Messaggi di chat
evita la diffusione di codice malevolo attraverso il sistema di messaggistica.
Dati di form
elabora e visualizza i dati inviati tramite form.
Visualizzazione codice
mostra snippet HTML/JavaScript nelle pagine web.
Scenario aggiuntivo
entità HTML, escape HTML e unescape HTML possono essere gestiti nello stesso flusso, così da verificare il risultato prima di copiarlo o esportarlo.
Regole di escape e entità
Consigli d'uso
Limitazioni e compatibilità
Privacy e sicurezza
Domande frequenti
XSS (Cross‑Site Scripting) è una tecnica con cui un attaccante inietta script malevoli in pagine web per rubare dati o eseguire azioni indesiderate. L’escape corretto dell’HTML è una delle difese di base contro XSS.
Ogni volta che mostri contenuti forniti dall’utente (commenti, messaggi, campi di form, ecc.). Se il contenuto può contenere tag HTML, va escapato prima di essere reso.
Entrambe rappresentano il carattere <. &lt; è un’entità nominata (lt = less‑than), &#60;/&#x3C; sono entità numeriche/esa. In HTML moderno l’effetto è lo stesso: per leggibilità si preferisce &lt;, per scenari che richiedono codifiche generiche o cross‑linguaggio si usano &#60;/&#x3C;. È importante mantenere il punto e virgola finale (es. &lt;); se manca, il parser potrebbe combinare l’entità con i caratteri successivi (ad esempio “&notin” può essere interpretato come “&not;” + “in”, risultando in “¬in”).
No. L’escape HTML è efficace nel contesto HTML, ma in JavaScript, CSS, URL ecc. servono regole diverse (escape di stringhe JS, percent‑encoding in URL, ecc.).
Perché il contenuto è stato escapato due volte. La prima volta < diventa &lt;, la seconda & viene ulteriormente escapata in &amp;, producendo &amp;lt;. È importante evitare di applicare l’escape a dati già escapati.
In questi casi serve "sanitizzazione" invece del solo escape: si usa una whitelist di tag/attributi ammessi e si filtrano protocolli pericolosi. Spesso si mantiene un set ridotto come p/br/ul/ol/li/a/strong/em/code/pre/blockquote/h1–h3; per a si limitano href/title/target con protocolli http/https/mailto/tel; per img solo src/alt; si rimuovono style e tutti gli eventi on*. È consigliato usare librerie come DOMPurify/sanitize‑html e fare la sanitizzazione lato server; non inserire mai contenuti non sanitizzati in innerHTML/dangerouslySetInnerHTML, per puro testo usare textContent.