php 设置cookie 有限期,关于Cookie过期时间的一些坑

背景

最近做了个项目,大致流程是这样的:微信中打开A页面,判断是否登陆,未登录的话跳转至微信授权并设置登陆cookie信息,然后重定向回A页面。QA提了个bug,打开页面后一直在授权地址和A页面之间循环跳转。上去找QA看了下现场,发现确实是这样,而且只有iPhone 6 plus会这样,其他机型正常,捕获了授权链接等等也都是没有问题。让QA把链接发我就灰溜溜的下楼了……然而,下楼的过程中,灵光一闪突然想到了日期的问题(有时候找bug真的要看运气,要是没想到时间问题,真的不知道要耗多长时间……),会不会是那台机器时间设置有问题?立马问了QA,果然,时间设置到了2018年3月1号……一切都真相大白了。

原因

原因很简单,授权完毕后设置登陆信息cookie,过期时间是按照服务器的正常时间进行设置的,而那台机器的系统时间设置到了2018年的3月1号,因此会导致cookie信息过期,从而一直在授权页面之间跳转。

复现

本着负责的态度,打算写个demo验证下上述现象。

1.服务端代码

服务端代码很简单,就是设置cookie而已。

if (!isset($_COOKIE['name'])){

setCookie('name','111111',time()+300,'/');

}

var_dump($_COOKIE);

2.客户端表现

设置系统时间为一个月之后,然后访问localhost/cookie.php,输出如下&#x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值