DSP

[php]如何让cookie实现跨域问题的源代码实例

2019-07-13 17:12发布

data/attach/1907/l1axn38a3rjyizw4rnjes2zowcdx2sro.jpg 首先:创建 a_setcookie.php 文件,内容如下: //header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'); setcookie("test", $_GET['id'], time()+3600, "/", ".a.com"); 
?> 然后:创建 a_getcookie.php 文件,内容如下: var_dump($_COOKIE); 
?> 最后:创建 b_setcookie.php 文件,内容如下: ---------------------------- 三个文件创建完毕后,我们通过浏览器依次访问: http://www.b.com/b_setcookie.php
http://www.a.com/a_getcookie.php 我们会发现,在访问b.com域的时候,我们并没有在a.com域设置上cookie值。 然后我们修改一下a_setcookie.php文件,去掉注释符号,a_setcookie.php即为: header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'); setcookie("test", $_GET['id'], time()+3600, "/", ".a.com"); 
?> 再次通过浏览器依次访问: http://www.b.com/b_setcookie.php
http://www.a.com/a_getcookie.php 这次,你会发现在访问b.com域的时候,我们设置了a.com域的cookie值。 末了补充一句,似乎只有IE对跨域访问COOKIE限制比较严格,上述代码在FIREFOX下测试,即使不发送P3P头信息,也能成功。