Protezione e ripristino dei caratteri HTML

Converte in entità HTML i caratteri speciali — e commerciale, minore, maggiore, virgolette doppie e semplici — oppure riporta le entità ai caratteri originari. Utile contro gli attacchi di scripting fra siti e nell'inserimento di testo in una pagina.

Le principali entità HTML con nome

Carattere Entità con nome Riferimento numerico Descrizione
& & & E commerciale (il segno che vale «e»)
< &lt; &#60; Segno di minore (lo stesso che apre un marcatore HTML)
> &gt; &#62; Segno di maggiore (lo stesso che chiude un marcatore HTML)
" &quot; &#34; Virgolette doppie (delimitano i valori degli attributi)
' &apos; &#39; Virgoletta semplice (delimita i valori degli attributi)
  &nbsp; &#160; Spazio unificatore (non consente l'andata a capo)
© &copy; &#169; Segno del diritto d'autore
® &reg; &#174; Segno di marchio registrato
&trade; &#8482; Segno di marchio
&euro; &#8364; Simbolo dell'euro
¥ &yen; &#165; Simbolo dello yen
¢ &cent; &#162; Simbolo del centesimo

Consigli

  • La protezione dei caratteri HTML è la difesa elementare contro gli attacchi di scripting fra siti: proteggete sempre quanto inserito dagli utenti prima di collocarlo in una pagina.
  • La & va protetta sempre per prima: convertendo prima gli altri caratteri, anche la & delle entità appena generate verrebbe protetta una seconda volta.
  • Inserendo un testo nel valore di un attributo conviene proteggere non soltanto le virgolette doppie ma anche quelle semplici.
  • Lo strumento sa ripristinare i riferimenti numerici decimali, come &#38;, quelli esadecimali, come &#x26;, e le principali entità con nome, come &amp;.
  • Molti motori di modelli proteggono automaticamente i caratteri quando espandono una variabile, ma se usate una sintassi di uscita HTML grezza dovete provvedere voi stessi.

Domande frequenti

Perché sono i tre caratteri che l'analizzatore HTML interpreta come parte della sintassi. Trascurandone la protezione, il navigatore li scambia per l'apertura o la chiusura di un marcatore, con possibili impaginazioni sfasciate e attacchi di scripting fra siti, cioè l'inserimento di codice malevolo.

La codifica degli indirizzi, detta anche codifica per cento, serve a rappresentare in sicurezza i caratteri speciali dentro un indirizzo, mentre la protezione HTML serve a evitare che un carattere sia scambiato per un marcatore in un documento. Gli scopi sono diversi: se il valore di un modulo finisce sia in un parametro d'indirizzo sia nella pagina, possono servire entrambe.

No. Tutta la conversione avviene nel JavaScript del navigatore e quanto inserite non giunge mai ai serventi di toolbase.cc.

No. Lo strumento protegge soltanto cinque caratteri: &, <, >, " e '. Le faccine e i caratteri non ASCII si visualizzano in sicurezza così come sono negli ambienti UTF-8 di oggi e non richiedono alcuna conversione.
Tool-kun

A proposito — i riferimenti ai caratteri, un'eredità di SGML

Le entità HTML, ossia i riferimenti ai caratteri, risalgono a SGML, il linguaggio di marcatura generalizzato da cui l'HTML discende. Standardizzato nel 1986, SGML possedeva già il meccanismo dei riferimenti ai caratteri per usare nel testo il segno di minore, che delimita i marcatori. L'HTML lo ha ereditato quasi immutato e già nelle prime specifiche degli anni Novanta definiva le entità fondamentali &lt;, &gt; e &amp;.

Le entità con nome furono in origine preziose per mostrare anche in ambienti ASCII i simboli tipografici — il segno del diritto d'autore, quello di marchio registrato, le lettere greche — in un'epoca in cui Unicode non era ancora diffuso. La specifica di HTML5 ne definisce infine oltre duemila, comprendendo simboli minori come i segni di spunta e le note musicali.

Oggi, con la diffusione della codifica UTF-8, il bisogno di riferimenti ai caratteri per evitare le corruzioni è molto diminuito. Restano però tre caratteri da proteggere sempre, per un motivo diverso: il minore, il maggiore e la e commerciale hanno per l'analizzatore HTML un significato sintattico particolare — apertura e chiusura di marcatore, inizio di entità — e trascurarne la protezione porta dritti a impaginazioni sfasciate e a vulnerabilità di scripting fra siti.