Wykrywanie homoglifów w domenach, nazwach użytkowników i wiadomościach
Homoglif to znak, który wygląda jak inny, bardziej znany: cyrylickie а (U+0430) i łacińskie a (U+0061) są w większości czcionek identyczne, ale to różne punkty kodowe. Wykrywacz sprawdza każdy znak i wymienia każdego sobowtóra wraz z pozycją, punktem kodowym, pismem Unicode i znakiem, który naśladuje.
Przykład krok po kroku
- Dane wejściowe
- pаypаl.com / Αdmіn
- Wykryte systemy pisma
- łacińskie (Latn), cyrylica (Cyrl), greckie (Grek)
- Oznaczone znaki
- 4
| Pozycja | Znak | Punkt kodowy | Pismo | Zamiennik | Reguła |
|---|---|---|---|---|---|
| 1 | а | U+0430 | cyrylica | a | Tabela mylących znaków |
| 4 | а | U+0430 | cyrylica | a | Tabela mylących znaków |
| 13 | Α | U+0391 | greckie | A | Tabela mylących znaków |
| 16 | і | U+0456 | cyrylica | i | Tabela mylących znaków |
- Zachowaj czytelny Unicode
- paypal.com / Admin
Jak to działa
- Każdy znak jest porównywany z wbudowaną tabelą typowych sobowtórów z cyrylicy, alfabetu greckiego, wariantów łacińskich i znaków pełnej szerokości. Dopasowanie jest oznaczane wraz z naśladowaną literą, cyfrą lub znakiem interpunkcyjnym ASCII.
- Znaki spoza tabeli przechodzą normalizację Unicode NFKC. Jeśli NFKC je zmienia, jak w przypadku liter pełnej szerokości i ligatur takich jak fi, są oznaczane jako formy zgodności.
- Pozycje liczą punkty kodowe Unicode od 0. Słowo, w którym litery łacińskie mieszają się z cyrylickimi lub greckimi, to wyraźny sygnał ostrzegawczy, bo prawdziwe słowa rzadko zmieniają pismo w połowie.
Konwersja jest najlepszym rozwiązaniem: mapowane elementy mylące i składanie NFKC są deterministyczne, ale niektóre prawidłowe Unicode nie zostaną oznaczone.
Twój tekst
Wklej lub pisz — wyniki są aktualizowane w trakcie pisania (lekko odrzucane w przypadku długiego wprowadzania).
zeskanowano 18 znaków
4 podejrzanych
Zachowaj czytelny Unicode
Oryginał (zaznaczono podejrzane znaki)
Podejrzane znaki w widoku oryginalnym są podkreślone i oznaczone jako „podejrzane”. oprócz podkreślenia koloru.
psuspicious character аypsuspicious character аl.com / suspicious character Αdmsuspicious character іn
Oczyszczone wyjście
Analiza znaków
| Indeks (od 0) | Oryginał | Zamiennik | Punkt kodowy | Powód |
|---|---|---|---|---|
| 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. |