我正在处理我的网络应用程序的 XSS(跨站点脚本)问题。该应用程序有许多用户控件,用户输入。
我遇到了这篇文章http://www.asp.net/whitepapers/request-validation
您能否回答以下问题:
在应用程序级别(在web.config中)使用 validateRequest =“true”是否有任何缺点?
除了进行每个控件和进行HTML编码之外,还有更好的方法来修复XSS问题吗?
提前致谢。
答案 0 :(得分:1)
最初想到的东西如下:
如果您追溯性地将validateRequest
添加到网站,那么包含您已捕获并存储在数据库中的恶意脚本的任何用户输入仍然是您的应用程序的漏洞,validateRequest
不会保护您在这里,HTML编码将。
通过你的应用程序和HTML编写所有内容可能会很痛苦。如果你真的很烦,那么这是一个必要的邪恶。黑客总是想出新的方法。如果您使用库,则必须等待更新以修补新漏洞,同时使您的站点易受攻击 - 我相信HTML Encode是防御XSS攻击的最佳武器。
话虽如此,请快速阅读: