检测到有潜在危险的Request.Form值以及ValidateRequest不生效问题
asp.net从客户端中检测到有潜在危险的Request.Form值问题许多朋友都遇到过,夏穆自己也碰到许多次。说实话这个问题比较头疼。一方面这是出于安全考虑不能轻易取消设置,另一方面有些功能又不得不允许传递一些危险值。在此仅提供解决方法,至于安全和功能的问题大家自己综合考量了。
代码:
//解决方案一
//在.aspx文件头中加入这句:
<%@ Page validateRequest="false"%>
//解决方案二:
//修改web.config文件:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
也许有些朋友发现添加了validateRequest="false"依然没有起作用。那是因为4.0已经默认了开启,以上设置仅对低于ASP.NET4.0的程序有效。在ASP.NET4.0版本上,我们需要更多一行的配置:
在web.config中添加:
<configuration>
<system.web>
<httpRuntimerequestValidationMode="2.0" />
另外,对于安全方面考虑,建议使用“HttpContext.Current.Server.HtmlEncode("1230online")”或者自己添加一些过滤。
页:
[1]