您的位置: 主页 > 服务器安全 > A potentially dangerous Request.Path value was detected from

A potentially dangerous Request.Path value was detected from

发布时间:2023-08-03 10:26:26 | 发布者:往流科技

场景:


当URL中存在“<,>,*,%,&,:,/”特殊字符时,页面会抛出A potentially dangerous Request.Path value was detected from the client异常。


 


原因:


是ASP.NET默认的拦截机制,保证页面URL传输的一定安全性。


 


解决方案有两种:


第一种,直接去除页面请求危险字符验证:


在web.config配置文件的<system.web>节点下添加代码如下:


1 <system.web>
2    <httpRuntime requestValidationMode="2.0"/>
3    <pages validateRequest="false" clientIDMode="AutoID"/>
4 </system.web>
 


第二种,设置哪些危险字符需要被验证:


1 <system.web>
2     <httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,:,&amp;,/" />
3 </system.web>
注意其中的requestPathInvalidCharacters是一个以逗号分隔的无效字符列表。默认不存在此键值对时,意味着受限制的无效字符集(以,分割)是这7个:<,>,*,%,&,:,/


如果你想这些字符全部不受限制,就应该设置requestPathInvalidCharacters="";


如果你想部分字符受限制,就需要在requestPathInvalidCharacters中设置需要受限制的字符;例如:requestPathInvalidCharacters="<,>"。