从客户端(&)中检测到有潜在危险的 Request.Path 值解决方案

出这个问题基本上是在转址字符串中有非法字符“<”,'&'之类的。

 

方案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"属性值

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

 

网上还有说是MVC传参时的错误,小弟对于这个不太懂!贴个问题贴供大家参考吧!

http://topic.csdn.net/u/20101101/19/e3b75fbd-4822-43f7-84cc-b2929fcd8fb4.html

 

好了,写到这里,希望这些方案可以帮到大家!

如果有哪里写错了,或者不清楚,高手们不吝赐教啦!


 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
根据提供的引用内容,无法直接回答你的问题。引用和引用提供了一些关于字段类型和动态字段的信息,但与从客户端检测潜在危险Request.Form无关。 要从客户端检测潜在危险Request.Form,你可以使用一些安全性工具和技术来帮助你识别和处理潜在的安全问题。以下是一些常见的方法: 1. 输入验证:对于从客户端接收到的所有输入数据,包括Request.Form,都应该进行验证。验证可以包括检查输入的长度、格式、类型和特殊字符等。你可以使用正则表达式或内置的验证函数来实现输入验证。 2. 输出编码:在将从Request.Form获取的输出到响应时,确保对进行适当的编码,以防止跨站点脚本攻击(XSS)。常见的编码方法包括HTML编码和URL编码。 3. 防范SQL注入:如果你将Request.Form用于构建SQL查询,确保使用参数化查询或预编译语句来防止SQL注入攻击。不要直接将Request.Form拼接到SQL查询字符串。 4. 防范跨站点请求伪造(CSRF):对于涉及敏感操作的请求,例如更改密码或删除数据,确保使用CSRF令牌来验证请求的合法性。CSRF令牌可以防止恶意网站利用用户的身份进行伪造请求。 5. 安全审计日志:记录所有与Request.Form相关的操作,包括输入验证失败、异常请求和安全事件。这些日志可以帮助你追踪和调查潜在的安全问题。 请注意,以上方法只是一些常见的安全措施,具体的实施方法可能因你使用的编程语言和框架而有所不同。建议你查阅相关的安全文档和指南,以了解更多关于保护Web应用程序安全的最佳实践。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值