需求是有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 | 是 | 否 | 否 | 是 | 否 |