域名和cookie


偶然想到一個問題:www.g.cn能把cookie設置為.g.cn,那么www.com.cn能設置把cookie設置為.com.cn嗎?

試驗結果:不能。因為瀏覽器知道www.com.cn的后綴是.com.cn而不是.cn,所以禁止設置cookie。

因為瀏覽器內置了域名后綴列表。todo:如果以后出現新的后綴,而老瀏覽器沒法更新列表,豈不是會允許設置cookie?

  extension后綴 一級域名 二級域名
www.g.cn .cn g.cn *.g.cn
www.com.cn .com.cn www.com.cn *.www.com.cn
www.google.com.cn .com.cn google.com.cn *.google.com.cn

www.example.com能讀取到.example.com的cookie嗎?

能。

www.example.com能讀取到example.com的cookie嗎?

不能。todo:把www.example.com和example.com做SSO,即可防止cookie帶到static.example.com。

example.com能讀取到www.example.com的cookie嗎?

答:不能。

setcookie('a', 'aa', time() + 1234, '/', 'example.com'); 設置的cookie是 .example.com 還是 example.com的?

答:是.example.com的。

如果想設置example.com的cookie,需要使用setcookie('default', 'default', time() + 1234, '/');。

cookie的設置和讀取范圍:

HTTP請求域名 一級域名 cookie可設置(並可讀取)的范圍 cookie不可設置 cookie不可讀取
example.com example.com example.com,.example.com www.example.com www.example.com
www.example.com example.com www.example.com,.www.example.com,.example.com example.com example.com
g.com.cn g.com.cn g.com.cn,.g.com.cn .com.cn  
www.com.cn www.com.cn www.com.cn,.www.com.cn .com.cn  

設置cookie代碼:

<?php
setcookie('default', 'default', time() + 1234, '/');
setcookie('a', 'aa', time() + 1234, '/', 'example.com');
setcookie('b', 'bb', time() + 1234, '/', '.example.com');
?>

讀取cookie代碼:

<?php
var_dump($_COOKIE);
?>

 

結果截圖:


免責聲明!

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



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