Pull to refresh

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

Reading time1 min
Views1.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 так не считают. Разработчики, будьте бдительны при фильтрации пользовательских данных!
Tags:
Hubs:
Total votes 130: ↑120 and ↓10+110
Comments80

Articles