解决ASP.NET的“A potentially dangerous Request... value was detected”

最近做一个简单的web项目(.NET Framework 3.5),自定义了一个handler(类似Java内的Servlet),本地开发环境(VS2012)测试没有问题,发布到服务器的IIS就出错了,访问handler映射地址时出现如下提示:

A potentially dangerous Request.QueryString value was detected from the client 

搜查各种资料,大部分都是说在web.config中配置

<httpRuntime requestValidationMode="2.0" />
经MSDN官网查得,此项配置需要在.Net Framework 4.0以上才可使用,在VS中配置此项亦会遭到警告“不允许使用‘requestValidationMode’特性”。

原来requestValidationMode是在ASP.NET 4.0(即.Net Framework 4.0)以上才有效的,项目本来就是.Net 3.5的,所以根本不需要使用此特性。但是这个.Net 3.5的却在发布环境的IIS6上发布,IIS6默认使用ASP.NET 4.0所以就开启了对应的拦截功能。

解决方法只需要在IIS6中将项目的ASP.NET属性设置为2.0,然后在handler中加入validate="false"即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值