【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=""

即是


  
  

 

你可能感兴趣的:(WebAPI)