当前位置: 首页 > news >正文

A potentially dangerous Request.Path value was detected from the client 异常

我们在ASP.net 4.0 中使用URL导向后, 我们在访问类似如下的地址时 http://wz.csdn.net/yanjinde77/一个面试题!********/,就会报错误: 

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

at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()  

at System.Web.HttpApplication.ValidateRequestExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()  

at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

这是因为上述地址中有*这个特殊字符存在。

如果你想不让ASP.net 替你拦截这些特殊字符,你需要设置如下Web.config的节:

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
	<system.web>
		<httpRuntime requestPathInvalidCharacters="" />
	</system.web>
</configuration>

注意其中的requestPathInvalidCharacters 它是一个以逗号分隔的无效字符列表。不设置它时,它默认的无效字符集(以,分割)是后面7个:<,>,*,%,&,:,/

即,不设置这个属性,默认就是如下设置:

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
	<system.web>
		<httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,:,&amp;,/" />
	</system.web>
</configuration>

如果你想这些字符全部不受限制,就应该设置 requestPathInvalidCharacters="" , 如果是部分字符受限制,部分字符不受限制,就需要在 requestPathInvalidCharacters 中设置需要受限制的字符,不受限制的不用设置。

 

参考资料:

Experiments in Wackiness: Allowing percents, angle-brackets, and other naughty things in the ASP.NET/IIS Request URL  
http://www.budoou.com/article/981320/

 

 

 

相关文章:

  • 修改ubuntu系统时间
  • Windows7蓝屏后产生的.dmp文件如何打开以及如何分析蓝屏的原因
  • 如何修改Linux系统时间 ubuntu
  • C#使用Create创建文件后,报The Process cannot access the file because it is being used by another process的异常
  • MySQL的show full processlist命令
  • asp没有权限解决方案
  • Asp获取真实IP地址
  • 判断是否是IP地址格式
  • Windows Server 2008 IE 无法调整安全级别 的解决方案
  • ADO错误: 无法为更新定位行。一些值可能已在最后一次读取后已更改解决办法
  • MySQL DATEDIFF TIMEDIFF
  • C# 发送电子邮件(含附件)用到的类 system.web.mail
  • 为应用程序池defaultAppPool提供服务的进程在于world wide web publishing服务通信时遇到致命错误 进程id为1356. 数据字段包含错误号
  • realtek PCI-E Gigabit Ethernet Boot Agent
  • 修改ubuntu开机背景颜色
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • avalon2.2的VM生成过程
  • CSS魔法堂:Absolute Positioning就这个样
  • java正则表式的使用
  • Laravel Telescope:优雅的应用调试工具
  • nodejs:开发并发布一个nodejs包
  • oschina
  • Redis学习笔记 - pipline(流水线、管道)
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 你不可错过的前端面试题(一)
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • # centos7下FFmpeg环境部署记录
  • (4)事件处理——(7)简单事件(Simple events)
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (二)WCF的Binding模型
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (强烈推荐)移动端音视频从零到上手(下)
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (已解决)什么是vue导航守卫
  • (转)jdk与jre的区别
  • (转)项目管理杂谈-我所期望的新人
  • ***通过什么方式***网吧
  • ../depcomp: line 571: exec: g++: not found
  • .bat批处理(六):替换字符串中匹配的子串
  • .chm格式文件如何阅读
  • .NET 表达式计算:Expression Evaluator
  • .NET框架设计—常被忽视的C#设计技巧
  • .net连接oracle数据库
  • /var/log/cvslog 太大
  • @test注解_Spring 自定义注解你了解过吗?
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [20170728]oracle保留字.txt
  • [C#基础]说说lock到底锁谁?
  • [C++]类和对象【下】
  • [CQOI 2011]动态逆序对