Ga naar de hoofdinhoud

Verwarrende tekens normaliseren naar veilige tekst

Bij het normaliseren van verwarrende tekens wordt elke dubbelganger vervangen door het gewone teken dat hij nabootst, zodat twee tekenreeksen die er hetzelfde uitzien ook bij vergelijking gelijk zijn. Doe dit voordat je gebruikersnamen vergelijkt, blokkeerlijsten toepast of dubbele ID's verwijdert.

Uitgewerkt voorbeeld

Invoer
Cоnfig file: аdmin2, Noёl, café
Gevonden schriftsystemen
Latijns (Latn), Cyrillisch (Cyrl)
Gemarkeerde tekens
7
PositieTekenCodepuntSchriftVervangingRegel
0CU+FF23LatijnsCNFKC-normalisatie
1оU+043ECyrillischoVerwarringstabel
7fiU+FB01LatijnsfiNFKC-normalisatie
10:U+FF1Aalgemeen:Verwarringstabel
12аU+0430CyrillischaVerwarringstabel
172U+FF12algemeen2Verwarringstabel
22ёU+0451CyrillischëVerwarringstabel
Behoud leesbare Unicode
Config file: admin2, Noël, café
Strikte ASCII-terugval
Config file: admin2, Noel, café

Zo werkt het

  • Bekende dubbelgangers worden eerst vervangen volgens de ingebouwde tabel. Tekens buiten de tabel worden genormaliseerd met NFKC, dat volbreedtevormen, ligaturen en andere compatibiliteitstekens omzet naar hun standaardequivalenten.
  • Behoud leesbare Unicode houdt een letter met accent aan als de tabel er een definieert, zoals Cyrillische ё → ë. Strikte ASCII-terugval gebruikt in plaats daarvan de gewone ASCII-letter (ё → e).
  • Letters die niet in de tabel staan en niet door NFKC worden veranderd, blijven behouden, dus café houdt in beide modi zijn accent. Genormaliseerde tekst is een vergelijkingssleutel, geen beveiligingsoordeel: bewaar ook het origineel en controleer gemarkeerde tekens.

Conversie is de beste inspanning: in kaart gebrachte confusables en NFKC-vouwing zijn deterministisch, maar sommige legitieme Unicode wordt niet gemarkeerd.

Jouw tekst

Plakken of typen: de resultaten worden bijgewerkt terwijl u typt (licht gedebounced voor lange invoer).

30 tekens gescand
7 verdacht
Strikte ASCII-terugval
Conversiemodus

De strikte ASCII-modus vervangt op agressieve wijze bekende lookalikes door ASCII. Het kan legitieme niet-Latijnse tekst wijzigen wanneer een teken zich in de gebundelde kaart bevindt of NFKC-gevouwen is.

Origineel (verdachte tekens gemarkeerd)

Verdachte tekens in de oorspronkelijke weergave zijn onderstreept en voorzien van het label 'verdacht'. naast de accentkleur.

suspicious character Csuspicious character оnfig suspicious character filesuspicious character : suspicious character аdminsuspicious character 2, Nosuspicious character ёl, café
Opgeschoonde uitvoer
Tekenanalyse
Index (0-gebaseerd)OrigineelVervangingCodepuntReden
0CCU+FF23NFKC normalization changed this character (compatibility or width folding).
1оoU+043ENon-ASCII confusable mapped to a safer Latin ASCII equivalent.
2nnU+006ENot flagged as a confusable or compatibility character.
3ffU+0066Not flagged as a confusable or compatibility character.
4iiU+0069Not flagged as a confusable or compatibility character.
5ggU+0067Not flagged as a confusable or compatibility character.
6 U+0020Not flagged as a confusable or compatibility character.
7fifiU+FB01NFKC normalization changed this character (compatibility or width folding).
8llU+006CNot flagged as a confusable or compatibility character.
9eeU+0065Not flagged as a confusable or compatibility character.
10::U+FF1ANon-ASCII confusable mapped to a safer Latin ASCII equivalent.
11 U+0020Not flagged as a confusable or compatibility character.
12аaU+0430Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
13ddU+0064Not flagged as a confusable or compatibility character.
14mmU+006DNot flagged as a confusable or compatibility character.
15iiU+0069Not flagged as a confusable or compatibility character.
16nnU+006ENot flagged as a confusable or compatibility character.
1722U+FF12Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
18,,U+002CNot flagged as a confusable or compatibility character.
19 U+0020Not flagged as a confusable or compatibility character.
20NNU+004ENot flagged as a confusable or compatibility character.
21ooU+006FNot flagged as a confusable or compatibility character.
22ёeU+0451Non-ASCII confusable mapped to a safer Latin ASCII equivalent.
23llU+006CNot flagged as a confusable or compatibility character.
24,,U+002CNot flagged as a confusable or compatibility character.
25 U+0020Not flagged as a confusable or compatibility character.
26ccU+0063Not flagged as a confusable or compatibility character.
27aaU+0061Not flagged as a confusable or compatibility character.
28ffU+0066Not flagged as a confusable or compatibility character.
29ééU+00E9Not flagged as a confusable or compatibility character.

Meer gidsen