2

好的,所以我在affiliatedomain.com 有一个域,它实际上只是我的主网站maindomain.com 的附属版本。

我们要求在用户第一次访问affiliatedomain.com 时在浏览器上设置maindomain.com cookie。这目前是通过服务器端 302 重定向到 maindomain.com/addcookie?redirect=affiliatedomain.com 实现的,然后执行 301 重定向回affiliatedomain.com。

由于以下几个原因,这显然不是理想的,a) 因为它执行不必要的客户端重定向,b) 它使 maindomain.com 对 url 重定向安全漏洞保持开放。

我已经通过 XHR 研究了通过在 maindomain.com 上执行 javascript GET 来实现这一点,但这需要打开Access-Control-Allow-Origin,这不是所有版本的 IE 都支持的(我们需要支持IE6 和 7)。

那么有什么办法可以达到这个要求吗?我已经研究过 JSONP,但不太确定如何使用这种方法实现它。

4

1 回答 1

1

我找到了一种方法来做到这一点。我在 maindomain.com 上设置了一个控制器操作,以返回带有端点 maindomain.com/setcookie.mvc 的 JavaScript() 类型的 ActionResult。然后从affiliatedomain.com 我添加了一个指向这个端点的标签。

然后,客户端将对 setcookie.mvc 页面执行 GET(因为相同的域策略不适用于标签),这反过来又允许我执行我需要的任何服务器端 cookie 逻辑。

于 2013-01-30T08:28:17.697 回答