客户端向服务端传送特殊字符解决方法(检测到有潜在危险的 Request.Form 值)
当客户端向服务端传输特殊字符时报错,错误信息如下图:
在asp.net中Request提交时出现有html代码或javascript等字符串时,程序系统会认为其具有潜在危险的值。环境配置会报出“从客户端 中检测到有潜在危险的Request.Form值”这样的错误。出现这种错误是因为你提交的Form中有HTML字符串,例如你在TextBox中输入了html标签,或者在页面中使用了HtmlEditor组件等,解决办法是禁用validateRequest。
解决办法:(如果你程序版本是.net framework4.0或更高版本,一定要看方法三)
方法一、在.aspx文件头中加入一个属性(此方法asp.net webForm和asp.net MVC中均适用):
<%@ Page Language="C#" validateRequest="false" %>
方法二、修改web.config文件: (此方法不建议、不安全)
<configuration> <system.web> <pages validateRequest="false" /> </system.web> </configuration>
因为validateRequest默认值为true。只要设为false即可。
方法三、Web.config文件里面加上:
<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>