Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
Gitea и омоглифы не в ту сторону
Омоглифы – это символы, совпадающие по начертанию, но различные по значению (интерпретации). Например, Н, H и Η, а именно – заглавная кириллическая “н”, заглавная “h” английского алфавита и заглавная “η” греческого алфавита. Пришлось тут столкнуться с забавной “программной” интерпретацией данного явления. Пакет Gitea (это пакет для работы с исходным кодом в git, с веб-интерфейсом и прочими полезными функциями) при попытке посмотреть некий русскоязычный текстовый файл из репозитория на сервере – показывал мне в браузере предупреждение, что “This file contains ambiguous Unicode characters!” (“Этот файл содержит “неоднозначные” символы Unicode!”). И действительно, встроенный фильтр подсвечивал буквы вроде “a”, “T” и “о”, но не во всех случаях. Так, целиком подсвечивалось сочетание букв “То” из “То есть”. А в другом месте этого же текста подсвечивалась одинокая буква “а”, при помощи которой обозначался союз “а”.
Сперва показалось, что это действительно в текст прокрались “омоглифы”. Такое случается, особенно, когда используешь несколько раскладок клавиатуры: английская “C” прокрадывается и занимает место “С”, предположим. Однако попытка исправить эти буквы в исходном файле и отправить изменения к успеху не привела: выяснилось, что ничего-то там не меняется – буквы уже использованы кириллические, в файле всё записано верными буквами. Хитрость оказалась в том, что пакет Gitea, руководствуясь настройками “локали” в браузере (а у меня использовалась англоязычная), самостоятельно делал вывод, что данного пользователя могут ввести в заблуждение сочетания кириллических букв, похожие на английские слова, о чём и предупреждал. То есть, “То” в этом “То есть”, выглядит английским “to”, а “а” – неотличима от артикля. В общем, как говорится в тексте, содержащем исходную формулировку знаменитой, – но известной только специалистам, – проблемы Винни-Пуха: “зачем эта хта обязательно та, а жерка, как правило, эта?”. Кто бы мог подумать.
(Уточнение: под “словами” подразумеваются последовательности омоглифов, обособленные пробелами.)
Адрес записки: https://dxdt.ru/2023/04/05/9806/
Похожие записки:
- "Сжатие языковых структур" и кусочки "Илиады"
- Техническое: Google Public DNS и DNSSEC
- Трафик на тестовом сервере TLS 1.3 и ESNI
- Доверенные программы для обмена сообщениями
- Техническое: имена в TLS и Nginx
- Синхронное время и "тики"
- Кусочки "Илиады" на папирусах
- "Почти что коллизия" и хеш-функции
- Дно и ChatGPT
- Низкоорбитальные сенсоры как наблюдательные сети
- Модули DH в приложении Telegram и исходный код
Кратко этот сайт характеризуется так: здесь можно узнать про технологический прогресс, Интернет, математику, криптографию, авиацию, компьютеры, авиационные компьютеры, вооружения, роботов, вооружение роботов, армии мира, астрономию, космические исследования. И иногда о чём-то ещё (
Комментарии читателей блога: 2
1 <t> // 6th April 2023, 07:10 // Читатель oleg написал:
А как Gitea “узнавала” что кириллическая “а” и латинская “a” являются омоглифами?
Совпадающее начертание буквы на уровне шрифта?
2 <t> // 6th April 2023, 09:20 // Александр Венедюхин:
По кодам символов. Там, видимо, используют таблицы “схожести” для Unicode. При наведении курсора на символ, вызвавший подозрение, даже показывается какой код (номер) у этого символа и какой код у символа, считающегося похожим. Например, “Т” и “T” – это U+0422 (кириллическая) и U+0054 (латиница).
Написать комментарий