Google Chrome浏览器最大cookie过期日期


Google Chrome maximum cookie expiry date

我创建我的网站时,我创建了一个新的cookie与以下php行:

setcookie('subscribed', 'true', time() + 365*24*3600*100, '/', null, false, true);

我意识到我的浏览器(Google Chrome)拒绝获取cookie。当我在谷歌浏览器中查看我的cookie时,它不在那里。我开始摆弄不同的设置,直到我看到这是有效的:

setcookie('subscribed', 'true', time() + 365*24*360, '/', null, false, true);

这意味着将过期时间更改为较低的值确实可以使此工作。

我的问题是,什么是最低的过期时间,你可以设置一个cookie在谷歌浏览器?有人知道这项政策吗?

我刚刚在64位操作系统上尝试过,Chrome作为浏览器,Apache作为服务器,它工作得完美无缺。它显示饼干的过期时间是在2113年。

dev-null-dweller可能是正确的:任何超过2038年1月19日星期二03:14:07 UTC的日期都将在接近1900的某个时间结束,从而迫使cookie立即消失(即在32位平台上)。

通过将cookie过期时间设置为未来不超过10年左右来解决这个问题。这已经超出了任何电子设备的合理预期寿命,无论如何,

如果有人试图理解为什么Chrome接受cookie但设置最大过期日期比预期的要短,在Chrome 104中有一个变化,设置最大过期时间不超过400天。

将cookie的有效期限制为400天对expiresmax-age js设置也有效。

假设其他浏览器将很快跟进。

我试图设置3年的cookie过期,并得到奇怪的行为,因为有一些cookie有效期到2038年,希望这个答案将节省一些时间。顺便说一句,对于v104之前设置的旧cookie,有效期没有修改,至少现在没有。