cookie的作用域
来源:互联网 发布:sql substring的用法 编辑:程序博客网 时间:2024/05/01 02:43
当我们给网站设置cookie时,大家有没有发现在网站的其他域名下也接收到了这些cookie。这些没用的cookie看似不占多少流量,但如果对一个日PV千万的站点来说,那浪费的资源就不是一点点了。因此在设置cookie时,对它的作用域一定要设置准确了。
我们都知道在PHP中用setcookie 来设置网站的cookie,该函数的用法如下:
今天我们就来探讨一下它的第五个参数$domain,因为它决定了cookie的作用域。
现在有如下3个域名,一个顶级域名、一个二级域名和一个三级域名:
① zydya.com
②blog.zyday.com
③one.blog.zyday.com
- 首先在①zyday.com域名下设置cookie,做四次测试,分别设置domain参数为空、'zyday.com'、'blog.zyday.com'与'one.blog.zyday.com'。
√表示该域名下能取到cookie,×表示不能取到cookie
+1,'/','blog.zyday.com') × × ×setcookie('name',1,time()
+1,'/','one.blog.zyday.com')×××
当domain设置为空时,domain默认为当前域名,并且该域名下的子域名都可以接收到cookie。
但是domain参数设置其子域名时,所有域名就接收不到了,包括那个子域名。
- 然后在②blog.zyday.com域名下设置cookie,测试条件同上
+1)×√√setcookie('name',1,time()+1,'/','zyday.com')√√√setcookie('name',1,time()+1,'/','blog.zyday.com')×√√setcookie('name',1,time()+1,'/',one.blog.zyday.com')×××
看第二行,domain参数是zyday.com,是blog.zyday.com的父域名,那么zyday.com下所有子域名(包括zyday.com、blog.zyday.com、one.blog.zyday.com)都能接收到cookie。
当domain为自身域名时,那么其父域名不受影响,其本身与其子域名可以接收到cookie。
而设置其子域名或其他域名时,所有域名都接收不到cookie了。
- 最后在③one.blog.zyday.com域名下设置cookie
+1)××√setcookie('name',1,time()+1,'/','zyday.com')√√√setcookie('name',1,time()+1,'/','blog.zyday.com')×√√setcookie('name',1,time()+1,'/',one.blog.zyday.com')××√
第三个测试得出的结论在上面已经总结了。再看一遍,这里就不多解释了。
domain的设置,有两点要注意:
1.在setcookie中省略domain参数,那么domain默认为当前域名。
2.domain参数可以设置父域名以及自身,但不能设置其它域名,包括子域名,否则cookie不起作用。
那么cookie的作用域:
cookie的作用域是domain本身以及domain下的所有子域名。
- Cookie的作用域
- cookie的作用域
- cookie的作用域
- COOKIE的作用域
- cookie的作用域
- Cookie的作用域
- COOKIE的作用域
- Cookie的作用域
- Cookie的作用域
- Cookie的作用域
- Cookie的作用域
- 关于cookie的作用域
- Cookie的作用
- cookie Expires的作用。
- Cookie的作用范围
- cookie的作用,用途
- Cookie的作用
- cookie的作用范围
- c语言中的常量,变量
- Linux shell 不同进制数据转换(二进制,八进制,十六进制,base64)
- 安装WE7遇到的问题
- 最真的梦——文/林清玄
- android jni Log
- cookie的作用域
- 为什么匿名内部类和局部内部类只能访问final变量
- CEGUI + VS2008配置说明
- 库函数与系统调用的区别
- 触摸屏的全屏和表格移位问题
- SQLite3 数据库升级
- 找不到类型或命名空间名称“OpenFileDialog”(是否缺少 using 指令或程序集引用?)
- 火狐浏览器的几个比较好的,最常用的几款插件
- python开发环境的下载,安装,配置