Как стать автором
Обновить

Нулевой символ внутри тега

Время на прочтение1 мин
Количество просмотров1.6K
Старый баг дороже новых двух?

Сделал для себя интересное открытие, оказывается строчку

<\0b>text</b> — где \0 — символ с кодом 0

IE интерпретирует как нормальный тег bold со всеми вытекающими, тоже самое касается тегов <script> <style> и прочих.

Это в свою очередь значит, что удаление потенциально опасных элементов с помощью str_replace, preg_replace (PHP), s/<script/.../i (Perl, sed) и прочих replace() функций для других языков не даст желаемых результатов.

Тоже самое касается и фильтрации по «белым» спискам которые попросту могут не посчитать последовательность <\0b>text</b> тегом.

К счастью Firefox, Opera и Safari так не считают. Разработчики, будьте бдительны при фильтрации пользовательских данных!
Теги:
Хабы:
+110
Комментарии80

Публикации

Изменить настройки темы

Истории

Ближайшие события