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
| Position | Caractère | Point de code | Écriture | Remplacement | Règle |
|---|---|---|---|---|---|
| 0 | C | U+FF23 | latin | C | Normalisation NFKC |
| 1 | о | U+043E | cyrillique | o | Table des confondables |
| 7 | fi | U+FB01 | latin | fi | Normalisation NFKC |
| 10 | : | U+FF1A | commun | : | Table des confondables |
| 12 | а | U+0430 | cyrillique | a | Table des confondables |
| 17 | 2 | U+FF12 | commun | 2 | Table des confondables |
| 22 | ё | U+0451 | cyrillique | ë | 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
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) | Original | Remplacement | Point de code | Raison |
|---|---|---|---|---|
| 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. |