关于跨域获取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

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM