通過P3P頭實現跨域設置cookie


PHP的setcookie函數可以設置域,但是只能在當前域內,如果出現多域可由如下辦法處理:
實現原理:
www.b.com/set_cookie.php   在b域名下設置a域名的cookie

  1. <script src="http://www.a.com/set_cookie.php"></script>


www.a.com/get_cookie.php   在a域名下獲取cookie

  1. print_r($_COOKIE);


www.a.com/set_cookie.php   在a域名下設置a域名的cookie

  1. header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
  2. setcookie("test", "test value", time()+3600, "/");


實現過程:
訪問www.b.com/set_cookie.php,然后訪問www.a.com/get_cookie.php就可以獲取cookie

其實,我在chrome不用P3P頭也可以獲取到cookie,但是IE不行,加上P3P頭,IE也可以了。

P3P(Platform for Privacy Preferences)正是一種可以提供這種個人隱私保護策略,一般瀏覽器都支持P3P協議。P3P header允許跨域訪問隱私數據,從而可以跨域set-cookie成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM