关于跨域获取cookie问题的解决

需求是有2个域名:www.a.com和www.b.com,b.com需要获取a.com中的cookie,解决方法是这样的:

在a.com编写一个设置cookie的页面:set_cookie.php 代码如下:

<script src="http://www.b.com/set_cookie.php?name=yhp"></script>

在b.com编写一个设置cookie的页面:set_cookie.php 代码如下:

header("P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");
setcookie("cookie_name", $_GET['name'],time()+365*24*60*60);

在b.com编写一个获取cookie的页面:get_cookie.php 代码如下:

echo var_dump($_COOKIE);

我们先访问 www.a.com/set_cookie.php,再访问 www.b.com/get_cookie.php,发现已经可以获取到cookie了,这其实就是做了一个中转的技巧,b.com中set_cookie.php代码中的 P3P header主要是针对IE浏览器拒绝第三方cookie的问题。

不同浏览器的第三方 cookie 规则

  IE chrome firefox SAFARI  OPERA
限制第三方cookie

 

 

posted @ 2014-03-13 16:47  WhoAmMe  阅读(28071)  评论(0编辑  收藏  举报