В Web–приложение можно включить много дополнительных механизмов защиты на случай, если вы пропустили XSS–ошибку, а именно:

□ добавить в кук атрибут httponly. Это спасет пользователей Internet Explorer версии (6.0) (и последующих), поскольку помеченный таким образом кук невозможно прочитать с помощью свойства document.cookie. Подробнее см. ссылки в разделе «Другие ресурсы». В ASP.NET 2.0 добавлено свойство HttpCookie.HttpOnly, упрощающее решение этой задачи;

□ заключать в двойные кавычки значения атрибутов тега, порождаемые из входных данных. Пишите не , a . Это сводит на нет атаки, которые могли бы обойти HTML–кодирование. Подробно этот прием объясняется в книге Майкла Ховарда и Дэвида Леб–ланка «Защищенный код», 2–ое издание (Русская редакция, 2004);

□ если вы пользуетесь ASP.NET, проверьте, задан ли конфигурационный параметр ValidateRequest. По умолчанию он задан, но лишний раз проверить не мешает. В этом случае запросы и ответы, содержащие недопустимые символы, будут отвергаться. Стопроцентной гарантии этот метод не дает, но все же является неплохой защитой. Подробнее см. раздел «Другие ресурсы»;

□ для Apache mod_perl есть модуль Apache::TaintRequest, помогающий обнаружить входные данные, которые копируются в выходные без проверки. Подробнее см. раздел «Другие ресурсы»;

□ предлагаемая Microsoft программа UrlScan для Internet Information Server 5.0 обнаруживает и обезвреживает многие варианты XSS–уязвимостей в коде вашего приложения.

Примечание. Для Internet Information Server 6.0 (IIS6) расширение UrlScan не нужно, так как его функциональность уже встроена в сам сервер. Подробнее см. раздел «Другие ресурсы».