首页 > 代码库 > 从客户端中检测到有潜在危险值的解决办法
从客户端中检测到有潜在危险值的解决办法
问题描述:
针对"http://...?name=&age=”这样的请求,使用Request.Form和Request.QueryString方法接收数据,会出现:从客户端(....)中检测到有潜在危险值...的错误提示。
问题原因:
由于在asp.net中,Request提交时出现有html代码或javascript等字符串时,程序系统会认为其具有潜在危险的值。环境配置会报出“从客户端 中检测到有潜在危险值”这样的Error。
解决方案:
方案1:
(1)在配置文件中加入:
<httpRuntime requestValidationMode="2.0"/>
(2)在.aspx页面中加入:
<%@ Page ValidateRequest="false" …
方案2:
原因是所传值含有特殊危险符号,那么可以在传前,利用HttpUtility.HtmlEncode(string)方法,对字符串进行编码,这样就会将危险字符转义为普通的字符。如string param=Server.HtmlEncode(str);
建议使用方案1。
在方案2总,如果传递的内容包括&等这样的特殊符号,传输数据会丢失。
下面针对传输特殊字符做下总结:
特殊字符 | HttpUtility.UrlEncode | HttpUtility.HtmlEncode |
= | %3d | = |
< | %3c | < |
& | %26 | & |
从客户端中检测到有潜在危险值的解决办法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。