Normalizza i caratteri confondibili in testo sicuro
Normalizzare i confondibili significa sostituire ogni sosia con il carattere comune che imita, così due stringhe che appaiono uguali risultano uguali anche nel confronto. Fallo prima di confrontare nomi utente, applicare liste di blocco o eliminare identificatori duplicati.
Esempio svolto
- Testo inserito
- Cоnfig file: аdmin2, Noёl, café
- Sistemi di scrittura trovati
- latino (Latn), cirillico (Cyrl)
- Caratteri segnalati
- 7
| Posizione | Carattere | Punto di codice | Sistema di scrittura | Sostituzione | Regola |
|---|---|---|---|---|---|
| 0 | C | U+FF23 | latino | C | Normalizzazione NFKC |
| 1 | о | U+043E | cirillico | o | Mappa dei confondibili |
| 7 | fi | U+FB01 | latino | fi | Normalizzazione NFKC |
| 10 | : | U+FF1A | comune | : | Mappa dei confondibili |
| 12 | а | U+0430 | cirillico | a | Mappa dei confondibili |
| 17 | 2 | U+FF12 | comune | 2 | Mappa dei confondibili |
| 22 | ё | U+0451 | cirillico | ë | Mappa dei confondibili |
- Conserva Unicode leggibile
- Config file: admin2, Noël, café
- Fallback ASCII rigoroso
- Config file: admin2, Noel, café
Come funziona
- I sosia noti vengono sostituiti prima tramite la mappa integrata. I caratteri fuori dalla mappa vengono normalizzati con NFKC, che riporta forme a larghezza piena, legature e altri caratteri di compatibilità ai loro equivalenti standard.
- Conserva Unicode leggibile mantiene una lettera accentata quando la mappa la prevede, come la ё cirillica → ë. Fallback ASCII rigoroso usa invece la semplice lettera ASCII (ё → e).
- Le lettere che non sono nella mappa e non vengono modificate da NFKC restano invariate, quindi café mantiene l'accento in entrambe le modalità. Il testo normalizzato è una chiave di confronto, non un verdetto di sicurezza: conserva anche l'originale e controlla i caratteri segnalati.
La conversione avviene al meglio: i confondibili mappati e il ripiegamento NFKC sono deterministici, ma alcuni Unicode legittimi non verranno contrassegnati.
Il tuo testo
Incolla o digita: i risultati si aggiornano durante la digitazione (leggermente rimbalzato per input lunghi).
30 caratteri analizzati
7 sospetti
Fallback ASCII rigoroso
Originale (caratteri sospetti contrassegnati)
I caratteri sospetti nella visualizzazione originale sono sottolineati ed etichettati come “susp”. oltre a evidenziare il colore.
suspicious character Csuspicious character оnfig suspicious character filesuspicious character : suspicious character аdminsuspicious character 2, Nosuspicious character ёl, café
Output ripulito
Analisi dei caratteri
| Indice (in base 0) | Originale | Sostituzione | Punto di codice | Motivo |
|---|---|---|---|---|
| 0 | C | C | U+FF23 | NFKC normalization changed this character (compatibility or width folding). |
| 1 | о | o | U+043E | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 2 | n | n | U+006E | Not flagged as a confusable or compatibility character. |
| 3 | f | f | U+0066 | Not flagged as a confusable or compatibility character. |
| 4 | i | i | U+0069 | Not flagged as a confusable or compatibility character. |
| 5 | g | g | U+0067 | Not flagged as a confusable or compatibility character. |
| 6 | U+0020 | Not flagged as a confusable or compatibility character. | ||
| 7 | fi | fi | U+FB01 | NFKC normalization changed this character (compatibility or width folding). |
| 8 | l | l | U+006C | Not flagged as a confusable or compatibility character. |
| 9 | e | e | U+0065 | Not flagged as a confusable or compatibility character. |
| 10 | : | : | U+FF1A | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 11 | U+0020 | Not flagged as a confusable or compatibility character. | ||
| 12 | а | a | U+0430 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 13 | d | d | U+0064 | Not flagged as a confusable or compatibility character. |
| 14 | m | m | U+006D | Not flagged as a confusable or compatibility character. |
| 15 | i | i | U+0069 | Not flagged as a confusable or compatibility character. |
| 16 | n | n | U+006E | Not flagged as a confusable or compatibility character. |
| 17 | 2 | 2 | U+FF12 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 18 | , | , | U+002C | Not flagged as a confusable or compatibility character. |
| 19 | U+0020 | Not flagged as a confusable or compatibility character. | ||
| 20 | N | N | U+004E | Not flagged as a confusable or compatibility character. |
| 21 | o | o | U+006F | Not flagged as a confusable or compatibility character. |
| 22 | ё | e | U+0451 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 23 | l | l | U+006C | Not flagged as a confusable or compatibility character. |
| 24 | , | , | U+002C | Not flagged as a confusable or compatibility character. |
| 25 | U+0020 | Not flagged as a confusable or compatibility character. | ||
| 26 | c | c | U+0063 | Not flagged as a confusable or compatibility character. |
| 27 | a | a | U+0061 | Not flagged as a confusable or compatibility character. |
| 28 | f | f | U+0066 | Not flagged as a confusable or compatibility character. |
| 29 | é | é | U+00E9 | Not flagged as a confusable or compatibility character. |