【问题标题】:Will ASP.Net MVC's AntiForgeryToken Method work with Load Balancers?ASP.Net MVC 的 AntiForgeryToken 方法是否适用于负载均衡器?
【发布时间】:2011-03-26 01:50:56
【问题描述】:

使用 ASP.Net MVC v2.0,我开始研究在提交处理数据的表单时使用Html.AntiForgeryToken() 方法。我可以看到它在 HTML 表单中设置了一个隐藏值,并在会话 cookie 中设置了相同的值。

问题是负载平衡配置中的不同 Web 服务器会在 HTML 表单中创建相同的令牌吗? 如果他们不这样做,那么 cookie 和隐藏表单值将不匹配并且我们会有问题。在我开始在 LB 配置中实际测试它之前,想检查一下是否有人已经有这方面的经验?

谢谢,保罗

【问题讨论】:

    标签: asp.net-mvc security cookies load-balancing antiforgerytoken


    【解决方案1】:

    如果整个场中的所有机器共享同一个<machineKey>,那么一切都会正常工作。关于如何设置的有lots of resources。还有a tutorial on MSDN

    请注意,<machineKey> 的名称有点误导,因为这实际上是在 ~/Web.config 中为每个应用程序设置的。因此,在您应用的 Web.config 中明确设置 <machineKey>,然后在您的场中部署。

    【讨论】:

    • 好的,我应该假设使用了 machineKey。感谢您的回答。
    • 如果你懒得为你的配置文件创建一个机器键行:aspnetresources.com/tools/machineKey
    • nashwan,使用不是您自己生成的 machineKey 很危险。它最终可能会危及您网站的安全性。
    • 我们生成机器密钥并添加到 web.config 文件中。这个问题也发生在一个服务器场景中
    猜你喜欢
    • 1970-01-01
    • 2021-12-07
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    相关资源
    最近更新 更多