我正在做一些 asp.net MVC4项目(iis 7)。为了防止"潜在的危险请求"消息,我添加了该行 web.config 文件"httpRuntime requestValidationMode="2.0"/>"它确实阻止了消息,但发生了另一件事 - url 突然变得具有大小写意义。当我删除此行时,url 返回不区分大小写,但消息返回。
有人知道我怎样才能享受这两种优势吗?
多谢!
编辑:好吧,我发现区别在于,当我添加此行时,身份验证cookie(fedAuth)是不同的,并且由于某种原因,新cookie具有到期日期和区分大小写。仍然无法理解差异的原因以及如何防止它。
我已经搜索了一些 IIS 上的 MVC 如何区分大小写,看起来这几乎甚至不应该被支持。您可能有一些自定义代码出错。
这可能是路由配置中的一些黑客/错误逻辑(默认情况下位于App_Start/RouteConfig.cs
)。或者操作筛选器中的一些错误代码,Controller.OnActionExecuting
覆盖,甚至直接在操作实现中。
您可能还安装了 URL 重写并且设置不正确。在此处查看一些示例。