Переопределения направления
RIGHT-TO-LEFT OVERRIDE (U+202E)
Невидимый управляющий символ, который заставляет выкладывать все последующие символы справа налево, независимо от того, к какой письменности они относятся.
- Кодовая позиция
U+202E- Другие записи
u202e\u202e‮- Категория
- Переопределения направления
- Удаляется по умолчанию
- Да
- Управляющий параметр
- Параметр не нужен
- Может нести нагрузку
- Нет
Скопировать и вставить U+202E
Чтобы скопировать и вставить RIGHT-TO-LEFT OVERRIDE (U+202E), нажмите кнопку: в буфер обмена попадёт сам символ, а Ctrl+V (Cmd+V на Mac) вставит его в любое место, где можно печатать.
Осторожно: это управляющий символ направления текста. Вставленный в имя файла, сообщение или исходный код, он может показать текст не в том порядке, в котором тот хранится.
Откуда он берётся
Из законного текста он приходит почти никогда. Известность ему принесла атака с переопределением направления в имени файла: `invoicefdp.exe` показывается как `invoiceexe.pdf`, и пользователь дважды щёлкает по исполняемому файлу, думая, что открывает документ.
Почему это важно
Он меняет то, что видит читатель, не меняя того, что читает компьютер. Это и есть определение подменяющего символа: показанный порядок и логический расходятся, поэтому имя файла, ссылку или идентификатор в коде можно выдать за что-то другое.
До и после
До чистки большинство программ показывает это как «invoiceexe.pdf». Байты такого никогда не говорили.
Символ показан подписанной плашкой, чтобы было видно, где он стоит. В вашем тексте он не рисует ровно ничего.
Когда он уместен
В прозе он нужен фактически никогда. Правильный двунаправленный текст получается из самих символов по алгоритму bidi, а там, где явная подсказка всё же нужна, современный и безопасный выбор дают изоляты (U+2066-U+2069).
Как его удалить
Базовый проход удаляет его в любом окружении, и оставить его нельзя ничем. Все пять символов вложения и переопределения Ghostchars трактует одинаково.
Текст лежит в файле, а не в буфере обмена? Отчёт по документу для .docx, .odt и .html находит символ внутри файла вместе со скрытыми фрагментами и исправлениями, и открывать файл для этого не нужно. Если вопрос в том, что делает остальной текст, а не этот один символ, можно посчитать слова и обороты-приметы на тысячу слов и увидеть, где проявляется каждая привычка: без баллов и без утверждений о том, кто написал текст.
Это водяной знак ИИ?
Не водяной знак
Нет. Это инструмент подмены, а не отметка о происхождении. Если вы нашли такой символ в имени файла, в названии пакета или в исходнике, считайте его враждебным, а не курьёзным.
Никак не связан с машинно сгенерированным текстом. Он приходит из программы, с клавиатуры или от человека.
Вопросы
Что за атака с переопределением направления в имени файла?
U+202E внутри имени файла разворачивает отображение всего, что идёт после него, и исполняемый файл можно показать с расширением документа. Файл на диске не меняется; лжёт только отрисовка.
Важно ли это в исходном коде?
Да. Bidi-символы в комментариях и строковых литералах могут заставить проверенный код выглядеть не так, как он компилируется. Большинство компиляторов теперь на них предупреждает.
Есть ли причина его оставить?
В тексте, который вы чистите, никогда. Настоящему двунаправленному тексту он не нужен, а изоляты делают ту же работу, не переставляя ничего лишнего.
Проверьте свой текст
Вставьте что угодно в инструмент очистки, чтобы увидеть каждый скрытый символ: позицию, кодовую позицию и то, что произойдёт с каждым из них. Ничего никуда не отправляется.
Проверьте свой текстОчищать в Chrome прямо при вставкеОчищать на Mac одной комбинацией клавишВсе символы