關於跨域獲取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