C# 旧ASP.NET站点中输出的Html编码
我有一个传统的ASP.Net站点(最近升级到.NET4.0),它从来没有打开过请求验证,而且它根本没有对任何用户输入进行Html编码 我的解决方案是打开请求验证,捕获Global.asax中的HttpRequestValidationException并将用户重定向到错误页面。我不会对用户输入进行Html编码,因为我必须在数千个地方进行编码。我希望我的方法能够阻止任何XSS向量被保存到数据库中 然而,若数据库中已经存储了任何XSS向量,我想我也应该对所有输出进行Html编码。不幸的是,我只有非常有限的开发和测试资源来成功实现这一点。我列出了一个需要进行的更改列表:C# 旧ASP.NET站点中输出的Html编码,c#,asp.net,security,httprequest,C#,Asp.net,Security,Httprequest,我有一个传统的ASP.Net站点(最近升级到.NET4.0),它从来没有打开过请求验证,而且它根本没有对任何用户输入进行Html编码 我的解决方案是打开请求验证,捕获Global.asax中的HttpRequestValidationException并将用户重定向到错误页面。我不会对用户输入进行Html编码,因为我必须在数千个地方进行编码。我希望我的方法能够阻止任何XSS向量被保存到数据库中 然而,若数据库中已经存储了任何XSS向量,我想我也应该对所有输出进行Html编码。不幸的是,我只有非常
别忘了你得到的大部分。请记住,您不能完全查找/替换,因为在某些地方,您的绑定可能不是独占的用户输入,也可能是带有标记或其他内容的错误消息。除了其他答案外,请确保您使用Anti-XSS库正确编码任何JS输出:。现在可能是将其集成到您的站点的好时机。