0

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

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

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

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

@Html.AntiForgeryToken(salt, domain, virtualpath)

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

4

2 回答 2

0

如何使它成为可能?

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

于 2012-07-02T07:31:43.523 回答
0

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

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

http://mainsite.com/site1http://mainsite.com/site2将工作。

于 2012-07-05T03:40:08.840 回答