Обнаружение омоглифов в доменах, именах пользователей и сообщениях
Омоглиф — это символ, который выглядит как другой, более привычный: кириллическая а (U+0430) и латинская a (U+0061) в большинстве шрифтов неотличимы, но это разные кодовые точки. Детектор проверяет каждый символ и показывает каждого двойника с позицией, кодовой точкой, письменностью Юникода и символом, который он имитирует.
Разбор примера
- Ввод
- pаypаl.com / Αdmіn
- Найденные письменности
- латиница (Latn), кириллица (Cyrl), греческая (Grek)
- Отмечено символов
- 4
| Позиция | Символ | Кодовая точка | Письменность | Замена | Правило |
|---|---|---|---|---|---|
| 1 | а | U+0430 | кириллица | a | Таблица похожих символов |
| 4 | а | U+0430 | кириллица | a | Таблица похожих символов |
| 13 | Α | U+0391 | греческая | A | Таблица похожих символов |
| 16 | і | U+0456 | кириллица | i | Таблица похожих символов |
- Сохранить читаемый Юникод
- paypal.com / Admin
Как это работает
- Каждый символ сверяется со встроенной таблицей распространённых двойников из кириллицы, греческого алфавита, вариантов латиницы и полноширинных форм. Совпадение отмечается вместе с имитируемой ASCII-буквой, цифрой или знаком препинания.
- Символы, которых нет в таблице, проходят нормализацию Юникода NFKC. Если NFKC их меняет, как полноширинные буквы и лигатуры вроде fi, они отмечаются как формы совместимости.
- Позиции считаются в кодовых точках Юникода с 0. Слово, в котором латинские буквы смешаны с кириллическими или греческими, — серьёзный тревожный сигнал: настоящие слова редко меняют письменность посередине.
Преобразование выполняется с максимальной эффективностью: отображаемые путаные элементы и свертывание NFKC являются детерминированными, но некоторые допустимые Unicode не будут помечены.
Ваш текст
Вставить или ввести — результаты обновляются по мере ввода (слегка подпрыгивают при длительном вводе).
проверено 18 символов
4 подозрительных
Сохранить читаемый Юникод
Оригинал (отмечены подозрительные символы)
Подозрительные символы в исходном виде подчеркнуты и помечены как «подозрительно». в дополнение к выделению цвета.
psuspicious character аypsuspicious character аl.com / suspicious character Αdmsuspicious character іn
Очищенный вывод
Анализ символов
| Индекс (отсчет от 0) | Оригинал | Замена | Кодовая точка | Причина |
|---|---|---|---|---|
| 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. |