0

我正在尝试从 A.com 中的 B.com 读取 cookie

为了解决这个问题,我添加了一个从 B.com 加载script tag的in A.com 。这个 B.com 脚本是我需要的 cookie 的回显。PHP

B.com/script.php

<? echo 'var mycookie="'.$_COOKIE['myBdotComCookie'].";";?>

A.com 页面:

...
 <script src="http://B.com/script.php">
 ...

附加信息:myBdotComCookie 域是 B.com

问题

这在 iOS Chrome 上运行良好,但在 Linux 或 Win Chrome 上不行。

问题

这种技术是错误的还是 iOS Chrome 有错误或 Linux 和 Win Chrome 有错误?

更新

在 FF 上也可以正常工作,但不能在 IE8/9 上工作

4

1 回答 1

1

如今,越来越多的浏览器阻止了第三方 cookie。您不能再将它们真正用于任何需要可靠的事情。原因是第三方 cookie 可用于监视用户的浏览历史。您可以随时在浏览器隐私设置中禁用它们。大多数浏览器默认情况下不会这样做,但例如 Safari 会这样做。显然 Chrome 上的一些版本也是如此。

如果您需要从不同域的站点可靠地获取一些数据,您应该查看 jsonp 请求。它们由 jquery 抽象,因此您可以使用与 ajax 调用相同的 api 来执行它们。

于 2013-01-30T19:33:21.490 回答