Есть ли в Javascript эквивалент таких библиотек, как HTMLPurifier, которые удаляют XSS-код из строк?
Есть ли библиотека javascript, которую можно использовать для фильтрации строк для XSS-атак?
Ответы (2)
Вообще говоря, к моменту выполнения кода Javascript уже слишком поздно защищаться от XSS-атаки. Вам нужно защищаться от него на сервере, а не на клиенте.
person
bdonlan
schedule
19.05.2009
Это не совсем верно: может быть случай, когда приложение ajax принимает ввод из текстовой области и вводит содержимое в DOM, и в этом случае вы определенно захотите его дезинфицировать.
- person Jed Schmidt; 19.05.2009
Это хорошее эмпирическое правило, когда сервер строго анализирует каждый пользовательский ввод, чтобы гарантировать предотвращение атак на глубоком уровне.
- person Jan Gressmann; 19.05.2009
@Jed, какой там вектор атаки, кроме пользователя, атакующего себя. Я действительно не вижу в этом проблемы с безопасностью.
- person Ben Schwehn; 19.05.2009
Хорошо, я думаю, что предотвращение случайного внедрения скрипта/тега может быть хорошей вещью.
- person Ben Schwehn; 19.05.2009
@Jed, этого можно избежать, добавив текстовые узлы вместо манипулирования innerHTML
- person bdonlan; 20.05.2009
Предположим, я получаю ответ JSON от своего сервера, и часть этого ответа, которую я добавляю на HTML-страницу, является частью строки. Например: {данные: это необходимо добавить в html и может быть небезопасно} Тогда и я подчиняюсь тому, что вы говорите. Не могу ли я запустить очиститель HTML (версия JS) для указанной выше строки.
- person akshat; 21.05.2009