Vai al contenuto

Escape e unescape HTML

Esegui l'escape dei caratteri speciali HTML in entità, oppure l'unescape di riferimenti a caratteri denominati, decimali ed esadecimali in locale per mostrare tag ed esempi di codice.

Testo in ingresso

Evidenziazione sintassi: Automatica
Escape e unescape HTML

Avvio rapido

1
Inserisci HTML o testo di entità con escape.
2
Scegli Codifica o Decodifica.
3
Converti nello stesso editor.
4
Copia il risultato attuale.

Scenari comuni

Commenti utente

testo di escape quando è necessario che i commenti vengano visualizzati come testo normale all'interno di un contesto di contenuto HTML

Articoli di blog

mostra esempi di codice HTML all’interno dei contenuti.

Post del forum

mostra il testo generato dall'utente senza consentire il rendering dei tag come markup

Messaggi di chat

visualizza il markup incollato come testo prima che raggiunga un'area di contenuto HTML

Dati del modulo

controlla e copia i valori sottoposti a escape prima di visualizzare il testo inviato

Visualizzazione codice

mostra snippet HTML/JavaScript nelle pagine web.

Regole di escape e entità

Encode gestisce questi sei caratteri: & < > " ' /. L'escape delle barre è incluso per compatibilità, ma la maggior parte dei contesti di testo e attributi HTML non lo richiedono.
Corretta la mappa di codifica: & diventa &amp;, < diventa &lt;, > diventa &gt;, " diventa &quot;, ' diventa &#39; e / diventa &#x2F;.
Testo dell'attributo: le virgolette doppie diventano &quot; e le virgolette singole diventano &#39;, ma gli attributi, gli eventi e i protocolli URL necessitano comunque di una gestione specifica del contesto.
Visualizza i tag script come testo: codifica <script> prima di inserirlo in un contesto di contenuto HTML.
Gestione dei tag: scrivi <div> come &lt;div&gt; per evitare che il browser lo interpreti come tag.

Confini di fuga vs sanificazione

Encode utilizza una mappa fissa di sei caratteri. Non trasforma ogni carattere Unicode in un'entità denominata, decimale o esadecimale.
La decodifica utilizza le regole di analisi del browser HTML per i riferimenti ai caratteri. Le entità sconosciute o incomplete potrebbero rimanere invariate anziché produrre un rapporto di convalida.
L'escape mostra i tag come testo. La sanificazione filtra tag, attributi, eventi e protocolli. Questa pagina esegue solo la prima attività.
Il contenuto, gli attributi, le stringhe JavaScript, CSS, gli URL, JSON e Markdown richiedono tutti regole di escape diverse.
La pagina non include anteprima HTML, formatter, validatore, albero DOM, report XSS o caricamento file. Gli output grandi possono offrire un download locale .txt.
La codifica e decodifica delle entità HTML viene eseguita localmente nel browser. Il testo sorgente può rimanere come bozza del browser. Se è attivo uno spazio di lavoro salvato o la sincronizzazione WebDAV, quel testo può essere salvato anche tramite tale sincronizzazione. I risultati piccoli restano nello stesso contenuto dell’editor; gli output grandi possono essere salvati localmente come IndexedDB artifact per copiarli, scaricarli come file .txt o applicarli di nuovo all’editor. Non viene caricato nulla.

Consigli d'uso

Escape dipendente dal contesto: scegli la strategia di escape adatta alla posizione di output (HTML, attributo, JS, CSS, URL, ecc.).
Elaborazione lato server: la codifica e la sanificazione dell'output critici per la sicurezza dovrebbero essere applicate nella tua app, non solo in un helper del browser.
Doppio controllo: verifica il risultato sfuggito nel contesto di destinazione prima di utilizzarlo in produzione.
Utilizzare le librerie: gli ambienti di produzione dovrebbero fare affidamento sull'escape del framework e su disinfettanti maturi invece dell'elaborazione manuale del copia-incolla.
Controllo dell'anteprima: conferma il risultato nella pagina di destinazione o nell'ambiente di test, perché ogni contesto di output ha regole diverse.

Limitazioni e compatibilità

Non è un disinfettante: questo strumento non rimuove script, attributi di eventi, protocolli non sicuri, attributi di stile o tag indesiderati.
Protezione incompleta: la fuga da sola non può impedire tutti gli XSS. Utilizza l'escape del framework, la sanificazione, il CSP e la convalida lato server, ove appropriato.
Dipendente dal contesto: contesti diversi richiedono regole diverse (contenuto HTML, attributi, JavaScript, CSS).

Privacy e sicurezza

La codifica e decodifica delle entità HTML viene eseguita localmente nel browser. Il testo sorgente può rimanere come bozza del browser. Se è attivo uno spazio di lavoro salvato o la sincronizzazione WebDAV, quel testo può essere salvato anche tramite tale sincronizzazione. I risultati piccoli restano nello stesso contenuto dell’editor; gli output grandi possono essere salvati localmente come IndexedDB artifact per copiarli, scaricarli come file .txt o applicarli di nuovo all’editor. Non viene caricato nulla.

Domande frequenti

6

Continua con questi strumenti correlati per il passaggio successivo.

Tutta l'elaborazione degli strumenti avviene localmente nel tuo browser.