asp.net从客户端中检测到有潜在危险的Request.Form值问题许多朋友都遇到过,夏穆自己也碰到许多次。说实话这个问题比较头疼。一方面这是出于安全考虑不能轻易取消设置,另一方面有些功能又不得不允许传递一些危险值。
在此仅提供解决方法,至于安全和功能的问题大家自己综合考量了。
[C#] 纯文本查看 复制代码 代码:
//解决方案一
//在.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版本上,我们需要更多一行的配置:
[XML] 纯文本查看 复制代码 在web.config中添加:
<configuration>
<system.web>
<httpRuntime requestValidationMode="2.0" />
另外,对于安全方面考虑,建议使用“HttpContext.Current.Server.HtmlEncode("1230online")”或者自己添加一些过滤。
|