浅析cookie之domain篇

domain决定了cookie的生效域名

php通过setcookie来设置cookie,具体参数如下

setcookie(
    string $name,
    string $value = "",
    int $expires = 0,
    string $path = "",
    string $domain = "",
    bool $secure = false,
    bool $httponly = false
): bool

一般情况下,很少去设置该值,但是有些时候还会用到。

前提条件

设置cookie的域名:http://www.test.com

不设置
setcookie('test','this is test')

如果什么都不设置的,那么生效的域名为www.test.com。

设置为同域名
setcookie('test','this is test',0,'/','www.test.com')

有些人可能会好奇,这么做不是多此一举吗?生效域名不还是www.test.com吗?其实不是,仔细观察会发现,domain多了一个点。其值为

.www.test.com

此时的生效域名已经不但是www.test.com,还包括了其三级域名,例如a.www.test.com,四级域名也可以a.b.test.com(再深未测试,理论上基于www.test.com的子域名应该都可以)。

设置为根域名
setcookie('test','this is test',0,'/','test.com')

此时cookie对整个域名有效(包括所有子域名)。

注意事项

domain和path共同决定了一个cookie的作用域,相同的domain和path才是同一个cookie,设置和使用的时候一定要注意。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值