首页  ·  知识 ·  编程语言
从客户端(&)中检测到有潜在危险的Request.Path值解决方案
网友  收集  .NET  编辑:志泽   图片来源:网络
requestValidationMode="2.0"

c

 

方案1:

 

如果仅仅只是转换页面,传参时出现的问题,可对数据加密:

绑定数据传值时加密 <%#Server.UrlEncode(Eval("UserId").ToString())%> 解密:HttpUtility.UrlDecode(request.QueryString["userid"].Tostrin

 

方案2:

 

如果是对数据库数据进行操作时出现此问题,第一、可以在存入数据库中之前加入字符过滤功能(具体实现方法百度一下,你就知道)。第二、也可以用JS加判断:

具体代码如下:

if(a.value.indexOf("$")!=-1)
   alert("不允许包含字符:$")
}

 

方案3:

 

如果不是前两种问题那么最直接简单的方法就是取消微软对其特殊字符的验证了,不过坏处很明显!安全性不高!

只需在Web.Config配置文件中加入<httpRuntime requestPathInvalidCharacters="" />即可!

 

跟出现从客户端(&)中检测到有潜在危险的 Request.Form问题时在Page节点中加入ValidateRequest="false"的道理一样!取消验证,最懒的方法!注意安全性不高哦。


方案4:

 

出现这个问题,一般是由于.Net Framework 使用了4.0版本造成的。(从 .Net Framework 4.0 开始,ASP.NET开始强制检测Request参数安全),而我们可以通过修改 Web.config 来恢复 2.0 版本的模式。
方法如下:
修改Web.config,增加requestValidationMode="2.0"属性值

[html] view plain copy 在CODE上查看代码片派生到我的代码片

<span style="font-size:18px;"><httpRuntime maxRequestLength="2097151" executionTimeout="3600" <span style="color:#FF0000;">requestValidationMode="2.0" </span>/></span>  



本文作者:网友 来源:网络收集
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的