【问题标题】:Request Validation with ASP.Net MVC 5使用 ASP.Net MVC 5 进行请求验证
【发布时间】:2017-04-06 18:38:17
【问题描述】:

过去,我习惯于将请求验证用作 XSS 的第一道防线。

但是,我似乎无法启动验证。

<httpRuntime requestValidationMode="4.5"/>

<configuration>
    <system.web>
        <pages validateRequest="true" />
    </system.web>
</configuration>

无论此配置如何,都不会引发错误并且不会运行验证。还有其他一些我缺少的启用/禁用验证的全局方法吗?

【问题讨论】:

  • 验证没有被命中在哪里:客户端或服务器?
  • 当表单发布到控制器时,请求验证不会触发。
  • 所以在 C# 代码中,而不是在 javascript 中。好的,你的模型在哪里,我们能看到吗?
  • 确认一下,您使用的不是任何新奇的 OWIN/Katana 东西,而是“经典”的 IIS 托管应用程序?
  • 另外,你测试的是什么类型的输入?

标签: c# asp.net-mvc request-validation


【解决方案1】:

从 ASP.NET 4.5 开始,请求验证添加了一些增强功能,包括延迟(“延迟”)验证、在服务器控制级别选择退出的能力以及访问未验证数据的能力。为了利用这些增强功能,您需要确保 requestValidationMode 已设置为 "4.5"

web.config:

<configuration>
  <system.web>
    <httpRuntime requestValidationMode="4.5"/>
  </system.web>
</configuration>

来自:https://www.owasp.org/index.php/ASP.NET_Request_Validation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 2016-06-17
    • 2023-03-09
    • 2011-05-08
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多