asp.net-mvc - 具有母版页的 View 中的多个 AntiForgeryToken

标签 asp.net-mvc security

是否有人不得不在母版页的 subview 上处理多个 AntiForgeryToken?我正在考虑的场景如下:

  • 该 View 包含一个具有呈现为隐藏字段的 AntiForgeryToken 的表单。
  • 该 View 包含在具有另一个 AJAX 提交表单的母版页中。

  • 这里的问题是我需要将隐藏字段封装在表单中,同时我需要在母版页中的 AJAX 提交表单上呈现另一个 token 以进行提交。我不能假设 token 将在子页面中呈现,因为子页面上可能没有表单。

    我的第一个想法是为所有帖子使用的整个页面呈现单个全局 AntiForgeryToken,但随后表单不会发布 token ,因为隐藏的输入字段将位于表单之外。

    感谢您的任何建议!

    最佳答案

    应该可以在每个表单中单独呈现 Html.AntiForgeryToken()。运行时的设计考虑到了这种情况。对 AntiForgeryToken() 的第一次调用设置了一个标志,表示“我已经设置了 token ,为此请求向我发出的任何其他调用都应使用相同的 token 值。”

    关于asp.net-mvc - 具有母版页的 View 中的多个 AntiForgeryToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2240401/

    相关文章:

    asp.net-mvc - 如何在不重复代码的情况下实现业务和 View 验证?

    c++ - 在 Windows 上读取性能数据计数器是否需要任何特殊的安全权限?

    algorithm - SSN 的校验和

    javascript - 通过单击 ASP.NET MVC 中的“下一步”按钮,在同一详细信息页面上显示记录,出现错误

    asp.net-mvc - 使用 MVC Futures 的异步 Controller 在 .NET 3.5 SP1 中的 ASP.NET MVC 1 中长轮询的服务器和连接限制

    c# - 从 MVC 2 硬编码升级后如何在 MVC 3 中添加 Razor View ?

    c# - Razor:使用其他应用程序的布局文件

    php - 如何防止 PHP 中的 SQL 注入(inject)?

    security - 安全 token 的长度

    docker - 如何保护公共(public) docker hub 图像?