php哪个选项用于设置cookie,php怎么设置cookie作用域?

在PHP中,使用setcookie()函数可以设置Cookie的作用域,关键在于domain参数。当domain为空时,默认为当前域名,其子域名都能接收到Cookie;设置为父域名时,所有子域名都能接收;设置为自身或子域名时,只有指定域名及其子域名能接收。正确设置Cookie作用域对于优化网站性能和保护用户数据非常重要。
摘要由CSDN通过智能技术生成

php怎么设置cookie作用域?,域名,参数,作用,其子,测试

php怎么设置cookie作用域?

易采站长站,站长之家为您整理了php怎么设置cookie作用域?的相关内容。

在php中,可以使用setcookie()函数来设置cookie的作用域。语法为“setcookie(name,value,expire,path,domain,secure)”,可以通过设置domain参数的值来设置cookie作用域,

2666f20819400182edda8e33ac902e12.png

当我们给网站设置cookie时,大家有没有发现在网站的其他域名下也接收到了这些cookie。这些没用的cookie看似不占多少流量,但如果对一个日PV千万的站点来说,那浪费的资源就不是一点点了。因此在设置cookie时,对它的作用域一定要设置准确了。

我们都知道在PHP中用setcookie 来设置网站的cookie,【相关教程推荐:《PHP教程》】

该函数的用法如下:setcookie(name,value,expire,path,domain,secure)

ed92c53b0d37ffc846f9167e8c977cc1.png

今天我们就来探讨一下它的第五个参数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,×表示不能取到cookiedomain参数zydya.comblog.zyday.comone.blog.zyday.com

setcookie('name',1,time()+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设置为空时,domain默认为当前域名,并且该域名下的子域名都可以接收到cookie。

但是domain参数设置其子域名时,所有域名就接收不到了,包括那个子域名。

然后在②blog.zyday.com域名下设置cookie,测试条件同上domain参数zydya.comblog.zyday.comone.blog.zyday.com

setcookie('name',1,time()

+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域名下设置cookiedomain参数zydya.comblog.zyday.comone.blog.zyday.com

setcookie('name',1,time()

+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下的所有子域名。

推荐学习:PHP编程从入门到精通以上就是关于对php怎么设置cookie作用域?的详细介绍。欢迎大家对php怎么设置cookie作用域?内容提出宝贵意见

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值