从客户端检测到有潜在危险的Request.Form值的问题
来源:互联网 发布:百度地图js api周边 编辑:程序博客网 时间:2024/04/29 03:55
同样的问题又一次遇到了,还是那个原则,第一次遇到可以挂起来,可是第二次又遇到它,说明这个问题很重要,必须解决。
在界面上提交带有Html标记的文本时,如果不经过处理,就会报出这样的错误。针对这个错误,网上大概有这么几种解决方法:
1. 解决方案一:
在.aspx文件头中加入这句:
<%@ Page validateRequest="false" %>
2. 解决方案二:
修改web.config文件:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
因为validateRequest默认值为true。只要设为false即可。
3.解决方案三:
截获 HttpRequestValidationException 异常。这种解决方案倡导者认为,直接将validateRequest的值设置false会给网站带来安全隐患。我们应该主动去截获这些特殊的标记,提示用户去修改。
但这样也有缺点,就是这些被定义的标记字符对于用户来说就是不可用的。同时,我们不可能把所有的HTML标记都屏蔽,所以,还得根据实际情况斟酌一下!
详细方法请见:连接
4.解决方法四:
之所以有解决方案四,是因为我这个人比较懒,同时第一第二在我这没有起效果。
为什么在网上大家都使用的方法在我这里不起作用?
requestValidationMode,这个在.netframework4.0中出现的属性在作怪!
requestValidationMode 有两个值:
2.0仅对网页启用请求验证。是启用还是关闭取决于 validateRequest。
4.0 默认值。任何 HTTP 请求都会启用请求验证,也就是说不光是网页,还包括 Cookie 等。此时强制启用,不管 validateRequest 为何值。
由于 requestValidationMode="4.0" 是强制启用,所以我们会发现在 .NET Framework 4.0 中仅靠设置 validateRequest 是关闭不了请求验证的,还得将 requestValidationMode 设置为 2.0。
这就是为什么我使用上述两个方法都不起作用的原因。
所以,最终我使用的解决方案就是:(提示,这种方法仅供练习,存在安全问题!)
在webconfig中将requestValidationMode设置为2.0.然后在配合解决方案一,就完美啦!
<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>
- 如何处理从客户端检测到有潜在危险的Request.Form 值的问题
- 从客户端检测到有潜在危险的Request.Form值的问题
- 客户端检测到有潜在危险的Request.Form 值
- 关闭安全检测,从客户端中检测到有潜在危险的Request.Form 值
- 检测到有潜在危险的 Request.Form 值问题
- 异常“从客户端...中检测到有潜在危险的Request.Form 值”的解决方法
- 从客户端检测到有潜在危险的Request.Form 值"的解决方案
- 从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法
- 关于从客户端中检测到有潜在危险的 Request.Form 值的最优解决方案
- “从客户端......中检测到有潜在危险的 Request.Form 值”的解决方法
- 从客户端检测到有潜在危险的Request.Form值的asp.net代码
- 从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法
- 从客户端中检测到有潜在危险的 Request.Form 值的解决方法
- 从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法
- 从客户端中检测到有潜在危险的Request.Form值的详细解决方案
- 从客户端检测到有潜在危险的Request.Form值时的处理办法
- 从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法
- 从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法
- spring配置datasource三种方式
- web页面防盗链功能使用--request.getHeader("Referer")
- 矩阵分解在推荐系统中的应用
- Android Camera分析
- ldconfig命令作用
- 从客户端检测到有潜在危险的Request.Form值的问题
- windows自动更新变成灰色不能选择的原因
- 一次在安装完VMware tools后,系统无法进入图形用户界面
- Ext JS 处理各种数据格式外部数据的能力
- Java 的命令行参数解析框架:Climax
- 1134. 积木分发(贪心算法,先满足需求最小的)
- 1139. 电路稳定性(转换成一般表达式,用后缀表达式计算)
- [机器学习]信息论(Information theory)的一些point
- 1150. 简单魔板