【问题标题】:how to permit a cross site request with AntiForgeryToken turned on如何在启用 AntiForgeryToken 的情况下允许跨站点请求
【发布时间】:2012-07-05 11:40:08
【问题描述】:

我们都知道如何使用AntiForgeryToken来避免跨站请求伪造,它已经足够有效了。

我有一个不同的情况(但我认为这很常见),我有两个 asp.net mvc web 服务器,分别称为 A 和 B。

由于某种原因,鉴于 B 中请求的操作已打开 [ValidateAntiForgeryToken] 属性,我想从网页 A 向网络服务器 B 发出发布请求。如何让它成为可能?

我发现 Html.AntiForgery 具有域和虚拟路径的潜力:

@Html.AntiForgeryToken(salt, domain, virtualpath)

试过这个,但没有运气。有谁知道如何解决这个问题?

【问题讨论】:

    标签: javascript asp.net-mvc antiforgerytoken


    【解决方案1】:

    如何实现?

    不可能。防伪令牌的整个安全性依赖于 cookie,正如我们在学校都知道的那样,cookie 不能跨域共享。

    【讨论】:

    • 感谢您提供的信息。然后需要一个新的实现。或者有没有这个问题的图书馆?
    【解决方案2】:

    由于 cookie 许可,对于那些遇到相同问题的人,如果我们将这两个站点托管在同一个域下,则答案是可能的。

    例如:http://site1.com 和 http://site2.com 将不起作用

    http://mainsite.com/site1http://mainsite.com/site2 可以工作。

    【讨论】:

      猜你喜欢
      • 2019-09-21
      • 2021-10-14
      • 2015-10-11
      • 2018-04-27
      • 2012-07-17
      • 2011-07-27
      • 2015-05-22
      • 2011-10-13
      • 2012-04-27
      相关资源
      最近更新 更多