如何允许打开AntiForgeryToken的跨站点请求

时间:2012-07-02 06:56:44

标签: javascript asp.net-mvc antiforgerytoken

我们都知道如何使用AntiForgeryToken来避免交叉站点请求伪造,并且它足够有效。

我有一个不同的情况(但我认为这很常见),我有两台asp.net mvc网络服务器,称它们为A和B.

出于某种原因,我想要从网页A发送到网络服务器B的帖子请求,因为在B中请求的操作已打开 [ValidateAntiForgeryToken] 属性。如何使它成为可能?

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

@Html.AntiForgeryToken(salt, domain, virtualpath)

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

2 个答案:

答案 0 :(得分:0)

  

如何使它成为可能?

不可能。防伪令牌的整体安全性依赖于cookie,而且正如我们在学校所学到的,cookie不能跨域共享。

答案 1 :(得分:0)

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

例如:http://site1.com和http://site2.com将无效

http://mainsite.com/site1http://mainsite.com/site2将有效。