【WebAPI】.NET 4.5.2 从客户端(:)中检测到有潜在危险的 Request.Path 值。

夙愿已清 提交于 2020-03-12 13:40:04

问题

WebAPI 2.0在传递日期参数,比如2020-03-12 11:24:01这样的参数,出现了冒号(:)

 

分析

从.net4.0开始,微软加入了对特殊字符的限制。默认的是7个特殊字符:requestPathInvalidCharacters = “<,>,*,%,&,:,\” 
一旦有这7个特殊字符,则asp.net直接报有潜在危险的Request.Path,Request.Form,Request.QueryString等这样的错误

 

解决

关闭校验

.NET 4.5.2的与.NET 4.0的解决方法不同

我用的是.NET 4.5.2的,之前搜索的一直是4.0的解决方法,也解决不了

下面是4.5.2的解决方法

在Web.config文件的system.web的httpRuntime中添加requestPathInvalidCharacters=""

即是

<system.web>
  <compilation debug="true" targetFramework="4.5.2" />
  <httpRuntime targetFramework="4.5.2" requestPathInvalidCharacters="" />
</system.web>

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!