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

问题

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>

 

相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页