Есть ли библиотека javascript, которую можно использовать для фильтрации строк для XSS-атак?

Есть ли в Javascript эквивалент таких библиотек, как HTMLPurifier, которые удаляют XSS-код из строк?


person akshat    schedule 19.05.2009    source источник


Ответы (2)


Вообще говоря, к моменту выполнения кода Javascript уже слишком поздно защищаться от XSS-атаки. Вам нужно защищаться от него на сервере, а не на клиенте.

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

Вам поможет проект Google-caja.

person Sergey Ilinsky    schedule 19.05.2009