|
域名和cookie
偶然想到一个问题:www.g.cn能把cookie设置为.g.cn,那么www.com.cn能设置把cookie设置为.com.cn吗?
试验结果:不能。因为浏览器知道www.com.cn的后缀是.com.cn而不是.cn,所以禁止设置cookie。
因为浏览器内置了域名后缀列表。todo:如果以后出现新的后缀,而老浏览器没法更新列表,岂不是会允许设置cookie?
[TR]
| [TD][/TD]
| [TD]extension后缀[/TD]
| [TD]一级域名[/TD]
| [TD]二级域名[/TD][/TR]
| [TR]
| [TD]www.g.cn[/TD]
| [TD].cn[/TD]
| [TD]g.cn[/TD]
| [TD]*.g.cn[/TD][/TR]
| [TR]
| [TD]www.com.cn[/TD]
| [TD].com.cn[/TD]
| [TD]www.com.cn[/TD]
| [TD]*.www.com.cn[/TD][/TR]
| [TR]
| [TD]www.google.com.cn[/TD]
| [TD].com.cn[/TD]
| [TD]google.com.cn[/TD]
| [TD]*.google.com.cn[/TD][/TR] |
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的设置和读取范围:
[TR]
| [TD]HTTP请求域名[/TD]
| [TD]一级域名[/TD]
| [TD]cookie可设置(并可读取)的范围[/TD]
| [TD]cookie不可设置[/TD]
| [TD]cookie不可读取[/TD][/TR]
| [TR]
| [TD]example.com[/TD]
| [TD]example.com[/TD]
| [TD]example.com,.example.com[/TD]
| [TD]www.example.com[/TD]
| [TD]www.example.com[/TD][/TR]
| [TR]
| [TD]www.example.com[/TD]
| [TD]example.com[/TD]
| [TD]www.example.com,.www.example.com,.example.com[/TD]
| [TD]example.com[/TD]
| [TD]example.com[/TD][/TR]
| [TR]
| [TD]g.com.cn[/TD]
| [TD]g.com.cn[/TD]
| [TD]g.com.cn,.g.com.cn[/TD]
| [TD].com.cn[/TD]
| [TD] [/TD][/TR]
| [TR]
| [TD]www.com.cn[/TD]
| [TD]www.com.cn[/TD]
| [TD]www.com.cn,.www.com.cn[/TD]
| [TD].com.cn[/TD][/TR] |
设置cookie代码:
[U]复制代码[/U] 代码如下:
读取cookie代码:
[U]复制代码[/U] 代码如下:
结果截图:


|
|