域名和cookie问题(域名后缀)

yipeiwu_com6年前PHP代码库
域名和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);
?>

结果截图:

相关文章

PHP编程中的常见漏洞和代码实例

不是固若金汤,随着PHP的广泛运用,一些黑客们也在无时不想找PHP的麻烦,通过PHP程序漏洞进行攻击就是其中一种。在节,我们将从全局变量,远程文件,文件上载,库文件,Session文件,...

PHP操作路由器实现方法示例

本文实例讲述了PHP操作路由器实现方法。分享给大家供大家参考,具体如下: 用PHP操作路由器 我们经常会碰到需要自动换IP的需求,比方模拟点击投票,数据采集被封IP,Alexa作弊等等,...

PHP版微信小店接口开发实例

本文实例讲述了PHP版微信小店接口开发方法。分享给大家供大家参考,具体如下: 首先 大家可以去下一份小店开发的 API接口 因为 下面所有的 微信小店接口 数据格式 参数 API手册 里...

phpMyAdmin 链接表的附加功能尚未激活的问题

phpMyAdmin 链接表的附加功能尚未激活的问题

安装phpMyAdmin的时候我还是没有手动配置config文件,而是使用了它的setup功能。 除了 服务器名称 和 认证方式 以外都使用了默认值。 服务器名称自己随便输入了一个,认证...

如何修改和添加Apache的默认站点目录

一、修改Apache的默认站点目录Apache HTTP Server安装好后,默认的站点目录位于其安装目录下的htdocs文件夹内,默认首页是该文件夹的index.html文件。比如,...