Aller au contenu principal

Normaliser les caractères confondables en texte sûr

Normaliser les confondables consiste à remplacer chaque sosie par le caractère ordinaire qu'il imite, afin que deux chaînes identiques à l'œil soient aussi égales à la comparaison. Faites-le avant de comparer des noms d'utilisateur, d'appliquer des listes de blocage ou de dédoublonner des identifiants.

Exemple détaillé

Entrée
Cоnfig file: аdmin2, Noёl, café
Écritures détectées
latin (Latn), cyrillique (Cyrl)
Caractères signalés
7
PositionCaractèrePoint de codeÉcritureRemplacementRègle
0CU+FF23latinCNormalisation NFKC
1оU+043EcyrilliqueoTable des confondables
7fiU+FB01latinfiNormalisation NFKC
10:U+FF1Acommun:Table des confondables
12аU+0430cyrilliqueaTable des confondables
172U+FF12commun2Table des confondables
22ёU+0451cyrilliqueëTable des confondables
Conserver un Unicode lisible
Config file: admin2, Noël, café
Repli ASCII strict
Config file: admin2, Noel, café

Fonctionnement

  • Les sosies connus sont d'abord remplacés d'après la table intégrée. Les caractères hors de la table sont normalisés avec NFKC, qui ramène les formes pleine chasse, les ligatures et les autres caractères de compatibilité à leurs équivalents standard.
  • Conserver un Unicode lisible garde une lettre accentuée lorsque la table en définit une, comme le ё cyrillique → ë. Repli ASCII strict utilise à la place la lettre ASCII simple (ё → e).
  • Les lettres absentes de la table et non modifiées par NFKC sont conservées : café garde son accent dans les deux modes. Le texte normalisé est une clé de comparaison, pas un verdict de sécurité : conservez aussi l'original et examinez les caractères signalés.

La conversion s'effectue au mieux : les confusables mappés et le pliage NFKC sont déterministes, mais certains Unicode légitimes ne seront pas signalés.

Votre texte

Coller ou taper : les résultats sont mis à jour au fur et à mesure que vous tapez (légèrement rebondis pour une saisie longue).

30 caractères analysés
7 suspects
Repli ASCII strict
Mode de conversion

Le mode ASCII strict remplace de manière agressive les sosies connus par ASCII. Il peut modifier le texte non latin légitime lorsqu'un caractère se trouve dans la carte groupée ou pliée en NFKC.

Original (caractères suspects marqués)

Les caractères suspects dans la vue d'origine sont soulignés et étiquetés « susp ». en plus de mettre en évidence la couleur.

suspicious character Csuspicious character оnfig suspicious character filesuspicious character : suspicious character аdminsuspicious character 2, Nosuspicious character ёl, café
Sortie nettoyée
Analyse des caractères
Indice (basé sur 0)OriginalRemplacementPoint de codeRaison
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.

Autres guides