В примечаниях для Шага 1 в, "Как К: Предотвратите Сценарии перекрестного Сайта в ASP.NET", указано, что Вы не должны "полагаться на проверку запроса ASP.NET. Рассматривайте его как дополнительную предупредительную меру в дополнение к Вашему собственному контролю ввода".
Почему это не достаточно?
Только две подсказки:
Ваше приложение может выводить не только данные, которые были введены с помощью форм ASP.NET. Подумайте о веб-сервисах, RSS-каналах, других базах данных, информации, извлеченной из загруженных пользователем файлов и т.д.
Иногда необходимо отключить стандартную (эффективную, но слишком простую) проверку запроса, потому что вам нужно принимать угловые скобки в ваших формах. Вспомните редактор WYSIWYG.
Во-первых, хакеры всегда придумывают новые атаки и новые способы внедрения XSS. ASP.NET RequestValidation обновляется только при выпуске новой версии ASP.NET, поэтому, если кто-то предложит новую атаку на следующий день после выпуска ASP.NET, RequestValidation ее не поймает.
Это (я считаю) одна из причин появления проекта AntiXSS , так что цикл его выпуска может быть быстрее.