使用ValidateRequest =“false”asp.net的缺点

时间:2014-10-17 08:10:37

标签: c# asp.net .net asp.net-4.0 asp.net-2.0

我有一个带有文本编辑器的asp.net页面。我正在将html传递给服务器端。所以我开始得到像潜在危险脚本一样的错误。

所以我谷歌并在这个网站上找到了解决方案

ValidateRequest=“false” 

上面的代码在page指令中解决了错误,但我想知道使用ValidateRequest =“false”是否有任何缺点

1 个答案:

答案 0 :(得分:1)

您现在应该注意XSS(跨站点脚本)攻击。 ValidateRequest = true通过禁止可能存在危险的HTML脚本标记来保护您免受XSS攻击。我建议您仅对接受HTML的页面禁用ValidateRequest。这可以在页面顶部使用此指令完成。

<%@ Page ValidateRequest="false" %>.

即使在您接受html的情况下,在C#端,您也希望进行一些处理以通过维护白名单来清理您收到的HTML。对于简单的HTML清理程序,本文是一个很好的资源 - HTML Agility Pack strip tags NOT IN whitelist