Entità HTML
Applica l'escape ai caratteri del markup perché vengano mostrati come testo, oppure decodificali.
- Funziona nel tuo browser — il tuo testo non viene mai inviato da nessuna parte
- Nessuna registrazione, nessuna quota, gratis da usare quante volte vuoi
Come funziona
Inserire in una pagina web testo non attendibile senza applicare l'escape è il modo in cui nasce il cross-site scripting. La codifica converte in entità i caratteri che un browser tratta come markup, così vengono visualizzati invece di essere eseguiti.
Cosa viene codificato
I cinque caratteri che contano: e commerciale, minore di, maggiore di, virgolette doppie e apostrofo. L'e commerciale va codificata per prima, altrimenti tutto ciò che la segue viene codificato due volte.
Decodifica
La decodifica riporta le entità con nome e numeriche ai rispettivi caratteri usando il parser del browser invece di una tabella, così l'intero insieme viene gestito correttamente.
Cosa viene codificato, esattamente
La codifica sostituisce cinque caratteri: & diventa &, < diventa <, > diventa >, " diventa " e ' diventa '. Basta per mostrare il testo in sicurezza dentro l'HTML e dentro gli attributi tra virgolette. Le lettere accentate e le emoji restano come sono, perché le pagine UTF-8 le mostrano direttamente.
Decodifica
La decodifica comprende tutte le entità con nome definite da HTML, come é, — e , più le entità numeriche in decimale o esadecimale (é, é), perché usa il parser HTML del tuo browser.
Entità HTML — domande
Così il mio sito è al sicuro da XSS?
Applicare l'escape all'output è una parte necessaria, ma la sicurezza dipende dall'escape nel contesto giusto. Dove ce l'hai, usa l'escape del tuo framework.
Quali caratteri codifica?
E commerciale, minore di, maggiore di, virgolette doppie e apostrofo — i caratteri che altrimenti un browser leggerebbe come markup.
Il mio testo viene caricato?
No. La codifica avviene nella pagina.