【问题标题】:Why isn't AntiForgeryToken included in every form by default?为什么 AntiForgeryToken 默认不包含在每个表单中?
【发布时间】:2010-10-22 13:14:27
【问题描述】:

我很感兴趣,为什么 AntiForgeryToken 默认不包含在每个 ASP.NET MVC 表单中?似乎总是包含它的好处超过了可能的缺点。如果需要 Web 表单 HttpRequestValidationException,则可以禁用此行为。

【问题讨论】:

    标签: asp.net-mvc security csrf


    【解决方案1】:

    我认为是因为您不希望在使用 GET 方法的表单上使用它。

    【讨论】:

    • 我明白了。虽然 Html.BeginForm() 可以只为 POST 表单处理这种渲染 AntiForgeryToken。
    【解决方案2】:

    AntiForgeryToken 仅在 2 月份从“MVC Futures”转移到“MVC Core” - 所以很可能是时机阻止了它成为内置夹具。

    另一个可能的原因是开发 MVC 框架的团队确实把所有的权力都交给了开发人员。您可以使用其他东西代替 AntiForgeryToken,就像您可以选择使用不同的测试框架、数据框架等一样。当您从历史上看 MS 时,这是一种新方法,他们会让您使用他们提供的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-20
      • 2018-04-12
      • 1970-01-01
      • 1970-01-01
      • 2020-01-25
      • 2011-06-26
      • 2018-03-05
      • 1970-01-01
      相关资源
      最近更新 更多