Набор
Как этим пользоваться
Возьмите строку кнопкой «Копировать» и вставьте в проверяемое поле. Интересует не то, примут её или отвергнут, — оба ответа бывают правильными. Интересует, что произойдёт дальше.
Хороший исход: поле либо аккуратно отказало с понятным сообщением, либо сохранило строку целиком и показало её обратно ровно такой же.
Плохой исход: сохранило молча и обрезало; показало «???» или ромбики с вопросом; отвалилось с ошибкой 500; выполнило то, что вы вставили; или приняло, но перестало находить эту запись поиском.
Смотреть надо не только в само поле. Строка выстреливает там, куда её потом подставляют: в списке записей, в админке, в письме-уведомлении, в выгрузке CSV, в логе. Проверяйте весь путь.
Кнопка «Скопировать все» отдаёт текущую категорию по одной строке на строку — удобно вставить в таблицу с тест-данными или прогнать пачкой.
Пустая строка и строка из одного пробела копируются тоже — они выглядят как ничего, но это полноценные тест-кейсы.
Что означают метки
Часть этих строк не видно в принципе: невидимый символ на то и невидимый. Поэтому в таблице они нарисованы так — метка с именем символа. Копируется при этом настоящая строка, с настоящим невидимым символом внутри, а не метка.
ZWSP, ZWNJ, ZWJ, WJ — символы нулевой ширины. Занимают место в строке, но не рисуются.
NBSP — неразрывный пробел, SHY — мягкий перенос. Выглядят как обычный пробел и как ничего.
BOM — метка порядка байтов. Приезжает в начале файла и ломает разбор.
RLO, LRO, RLM, LRM — управление направлением письма. Именно они переворачивают показ текста, не меняя самой строки.
NUL, TAB, LF, CR — управляющие символы: нулевой байт, табуляция, перевод строки, возврат каретки.
Пробел по краям строки помечен , чтобы его было видно: без метки « край » и «край» на экране неотличимы.
Осторожно с двумя категориями
Инъекции проверяйте только там, где имеете право. На своём стенде, на своём проекте, на копии базы. Строка '; DROP TABLE users;-- на боевой базе может сделать ровно то, что написано. Ожидаемое поведение исправной системы — сохранить её как обычный текст.
Направление письма ломает не данные, а показ. Строка с RLO в базе лежит нормально, а на экране выглядит перевёрнутой — и в вашем интерфейсе может развернуть соседний текст, кнопку или ячейку таблицы. Эта страница от такого защищена намеренно: символы направления показаны метками и не действуют.
Частые вопросы
Что именно ломается на этих строках?
Разное: эмодзи и составные символы — расчёт длины, RTL — вёрстку и порядок символов, нулевой байт — обрезку строки на бэкенде, кавычки — склеенный SQL, угловые скобки — вывод без экранирования.
Это законно применять на проде?
Строки безобидны сами по себе, но SQL и XSS-варианты стоит запускать только на своих стендах и в рамках согласованного тестирования.
Как понять, что нашёлся баг, а не просто «странно выглядит»?
Смотрите на несоответствие: сохранилось не то, что ввели; ошибка вместо понятного сообщения; вывод, в котором разметка сработала как код.