|
偶然想到一個(gè)問題:www.g.cn能把cookie設(shè)置為.g.cn,那么www.com.cn能設(shè)置把cookie設(shè)置為.com.cn嗎?
試驗(yàn)結(jié)果:不能。因?yàn)闉g覽器知道www.com.cn的后綴是.com.cn而不是.cn,所以禁止設(shè)置cookie。
因?yàn)闉g覽器內(nèi)置了域名后綴列表。todo:如果以后出現(xiàn)新的后綴,而老瀏覽器沒法更新列表,豈不是會(huì)允許設(shè)置cookie?
extension后綴 | 一級(jí)域名 | 二級(jí)域名 | |
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'); 設(shè)置的cookie是 .example.com 還是 example.com的?
答:是.example.com的。
如果想設(shè)置example.com的cookie,需要使用setcookie('default', 'default', time() + 1234, '/');。
cookie的設(shè)置和讀取范圍:
HTTP請(qǐng)求域名 | 一級(jí)域名 | cookie可設(shè)置(并可讀取)的范圍 | cookie不可設(shè)置 | 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 |
設(shè)置cookie代碼:
復(fù)制代碼 代碼如下:
<?php
setcookie('default', 'default', time() + 1234, '/');
setcookie('a', 'aa', time() + 1234, '/', 'example.com');
setcookie('b', 'bb', time() + 1234, '/', '.example.com');
?>
讀取cookie代碼:
復(fù)制代碼 代碼如下:
<?php
var_dump($_COOKIE);
?>
結(jié)果截圖:
php技術(shù):域名和cookie問題(域名后綴),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。