首先,这个问题出现在 ASP.NET MVC 应用程序中,所以下面的解决方式都是在这个环境下。

关于这个问题,网上又很多的答案,当时也搜了一些:

  1. A potentially dangerous Request.Path value was detected from the client (*)
  2. ASP.NET MVC “Potentially dangerous Request.Path” with valid URL
  3. 从客户端(&)中检测到有潜在危险的 Request.Path 值解决方案
  4. 从客户端(?)中检测到有潜在危险的 Request.Path 值

以上资料,仅供参考,危险字符除了“&”,还有“?,/,<,>”等,解决方式五花八门,有使用 Server.UrlEncode 进行转码的,有 [ValidateInput(false)] 对 Action 进行配置的,有 pages validateRequest="false" webconfig进行配置的等等,各种方式都试了一下,最后还是一行配置搞定。

<httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" />

需要说明的是,如果对 requestPathInvalidCharacters 进行配置的话,比如 requestPathInvalidCharacters="<,>,%,&,:,,?",那么在危险字符进行忽略的时候,只会忽略 requestPathInvalidCharacters 中进行指定的字符,不指定的话,就会忽略全部字符。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-23
  • 2021-09-22
  • 2021-07-10
猜你喜欢
  • 2021-10-09
  • 2022-12-23
  • 2021-08-08
  • 2022-12-23
  • 2021-05-13
  • 2022-12-23
相关资源
相似解决方案