【发布时间】:2015-07-17 13:58:50
【问题描述】:
我在使用 ASP.NET MVC 5 时遇到一个相当常见的问题,它会在无效 URL 字符(例如 & 和 %)上引发异常。
我从其他堆栈溢出问题中尝试了很多不同的建议,例如here 和here。但是,将此添加到我的 Web.config 不起作用:
<system.web>
<httpRuntime requestPathInvalidCharacters="<,>,%,:,\,?"
requestValidationMode="2.0"/>
</system.web>
在我的控制器方法上方也没有添加[HttpValidate(false)]。
我在寻找解决方案时发现了这个gem,它看起来很有希望,但即使这样也行不通。 url 请求没有被该站点的代码更改,这让我想知道问题是否在 ASP.net 甚至有机会采取行动之前发生。
我试图避免手动编码我的所有请求,但如果这是我必须做的,那么我想我别无选择。
如果有帮助,这是我的堆栈跟踪:
[HttpException (0x80004005): 检测到来自客户端 (&) 的潜在危险 Request.Path 值。]
System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +9693412 System.Web.PipelineStepManager.ValidateHelper(HttpContext 上下文) +53
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-5