Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 旧ASP.NET站点中输出的Html编码_C#_Asp.net_Security_Httprequest - Fatal编程技术网

C# 旧ASP.NET站点中输出的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编码。不幸的是,我只有非常

我有一个传统的ASP.Net站点(最近升级到.NET4.0),它从来没有打开过请求验证,而且它根本没有对任何用户输入进行Html编码

我的解决方案是打开请求验证,捕获Global.asax中的HttpRequestValidationException并将用户重定向到错误页面。我不会对用户输入进行Html编码,因为我必须在数千个地方进行编码。我希望我的方法能够阻止任何XSS向量被保存到数据库中

然而,若数据库中已经存储了任何XSS向量,我想我也应该对所有输出进行Html编码。不幸的是,我只有非常有限的开发和测试资源来成功实现这一点。我列出了一个需要进行的更改列表:

  • 搜索并将所有替换为
  • 搜索并用文字替换所有标签,然后添加Mode=“Encode”
  • 使用HtmlEncode包装所有eval() 我的问题是:

  • 有没有更简单的方法可以让所有输出自动进行Html编码
  • 我在上面的清单上遗漏了什么吗
  • 有什么我应该小心的陷阱吗
  • 谢谢

    搜索并将所有替换为


    别忘了你得到的大部分。请记住,您不能完全查找/替换,因为在某些地方,您的绑定可能不是独占的用户输入,也可能是带有标记或其他内容的错误消息。除了其他答案外,请确保您使用Anti-XSS库正确编码任何JS输出:。现在可能是将其集成到您的站点的好时机。