我的好友 Carsten Lau 提出了一个关于如何读取跨域 cookie 的有趣想法。
情况:您想从域“A”中读取在域“B”上设置的 cookie。想法:从域“A”上的客户端,您对域“B”上的动态资源执行获取请求 - fe 图像或 javascript,在服务器“B”上实际上是一种能够读取 cookie 的编程语言像 PHP、Java 等。通过该请求,您发送一个唯一标识符,如会话 ID。因此,查看域“A”上的站点的客户端上的代码可能如下所示:
<img src="www.domainB.com/?getCookie.php?sessionID=1234">
现在到了有趣的部分,服务器 B 在服务器端读取域“B”设置的 cookie,并使用提供的 session-id 将结果写入域“A”可访问的 DB 或返回包含 cookie 信息的响应到域“A”上的客户端,然后通过 AJAX 将其发送到服务器“A”。
我很确定有一个我们还没有发现的缺陷。我个人认为服务器“B”将无法读取 cookie 信息,因为客户端浏览器 URL 指向域“A”,但当然上面解释的“getCookie”请求指向“B”。
请告诉我们您对它的看法,它为什么有效或为什么无效。让我大吃一惊的是,一个小小的概念证明是成功的。