Старый баг дороже новых двух?
Сделал для себя интересное открытие, оказывается строчку
IE интерпретирует как нормальный тег bold со всеми вытекающими, тоже самое касается тегов <script> <style> и прочих.
Это в свою очередь значит, что удаление потенциально опасных элементов с помощью
Тоже самое касается и фильтрации по «белым» спискам которые попросту могут не посчитать последовательность
К счастью Firefox, Opera и Safari так не считают. Разработчики, будьте бдительны при фильтрации пользовательских данных!
Сделал для себя интересное открытие, оказывается строчку
<\0b>text</b>
— где \0 — символ с кодом 0IE интерпретирует как нормальный тег bold со всеми вытекающими, тоже самое касается тегов <script> <style> и прочих.
Это в свою очередь значит, что удаление потенциально опасных элементов с помощью
str_replace, preg_replace
(PHP), s/<script/.../i (Perl, sed) и прочих replace() функций для других языков не даст желаемых результатов.Тоже самое касается и фильтрации по «белым» спискам которые попросту могут не посчитать последовательность
<\0b>text</b>
тегом.К счастью Firefox, Opera и Safari так не считают. Разработчики, будьте бдительны при фильтрации пользовательских данных!