Homogliefen opsporen in domeinen, gebruikersnamen en berichten
Een homoglief is een teken dat eruitziet als een ander, bekender teken: de Cyrillische а (U+0430) en de Latijnse a (U+0061) zijn in de meeste lettertypen identiek, maar het zijn verschillende codepunten. De detector controleert elk teken en toont elke dubbelganger met positie, codepunt, Unicode-schrift en het teken dat wordt nagebootst.
Uitgewerkt voorbeeld
- Invoer
- pаypаl.com / Αdmіn
- Gevonden schriftsystemen
- Latijns (Latn), Cyrillisch (Cyrl), Grieks (Grek)
- Gemarkeerde tekens
- 4
| Positie | Teken | Codepunt | Schrift | Vervanging | Regel |
|---|---|---|---|---|---|
| 1 | а | U+0430 | Cyrillisch | a | Verwarringstabel |
| 4 | а | U+0430 | Cyrillisch | a | Verwarringstabel |
| 13 | Α | U+0391 | Grieks | A | Verwarringstabel |
| 16 | і | U+0456 | Cyrillisch | i | Verwarringstabel |
- Behoud leesbare Unicode
- paypal.com / Admin
Zo werkt het
- Elk teken wordt vergeleken met een ingebouwde tabel van veelvoorkomende Cyrillische, Griekse, Latijnse en volbreedte-dubbelgangers. Een treffer wordt gemarkeerd samen met de ASCII-letter, het cijfer of het leesteken dat wordt nagebootst.
- Tekens die niet in de tabel staan, gaan door de Unicode-normalisatie NFKC. Als NFKC ze verandert, zoals bij volbreedteletters en ligaturen als fi, worden ze gemarkeerd als compatibiliteitsvormen.
- Posities tellen Unicode-codepunten vanaf 0. Een woord dat Latijnse letters mengt met Cyrillische of Griekse is een duidelijk waarschuwingssignaal, want echte woorden wisselen zelden halverwege van schrift.
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).
18 tekens gescand
4 verdacht
Behoud leesbare Unicode
Origineel (verdachte tekens gemarkeerd)
Verdachte tekens in de oorspronkelijke weergave zijn onderstreept en voorzien van het label 'verdacht'. naast de accentkleur.
psuspicious character аypsuspicious character аl.com / suspicious character Αdmsuspicious character іn
Opgeschoonde uitvoer
Tekenanalyse
| Index (0-gebaseerd) | Origineel | Vervanging | Codepunt | Reden |
|---|---|---|---|---|
| 0 | p | p | U+0070 | Not flagged as a confusable or compatibility character. |
| 1 | а | a | U+0430 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 2 | y | y | U+0079 | Not flagged as a confusable or compatibility character. |
| 3 | p | p | U+0070 | Not flagged as a confusable or compatibility character. |
| 4 | а | a | U+0430 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 5 | l | l | U+006C | Not flagged as a confusable or compatibility character. |
| 6 | . | . | U+002E | Not flagged as a confusable or compatibility character. |
| 7 | c | c | U+0063 | Not flagged as a confusable or compatibility character. |
| 8 | o | o | U+006F | Not flagged as a confusable or compatibility character. |
| 9 | m | m | U+006D | Not flagged as a confusable or compatibility character. |
| 10 | U+0020 | Not flagged as a confusable or compatibility character. | ||
| 11 | / | / | U+002F | Not flagged as a confusable or compatibility character. |
| 12 | U+0020 | Not flagged as a confusable or compatibility character. | ||
| 13 | Α | A | U+0391 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 14 | d | d | U+0064 | Not flagged as a confusable or compatibility character. |
| 15 | m | m | U+006D | Not flagged as a confusable or compatibility character. |
| 16 | і | i | U+0456 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 17 | n | n | U+006E | Not flagged as a confusable or compatibility character. |