Far*_*rid 6 php cookies google-chrome setcookie
当我用这个php行创建一个新的cookie时,我正在创建我的网站:
setcookie('subscribed', 'true', time() + 365*24*3600*100, '/', null, false, true);
Run Code Online (Sandbox Code Playgroud)
我意识到我的浏览器(谷歌浏览器)拒绝获得该cookie.当我在谷歌浏览器中查看我的cookie时,它不存在.我开始摆弄不同的设置,直到我看到它有效:
setcookie('subscribed', 'true', time() + 365*24*360, '/', null, false, true);
Run Code Online (Sandbox Code Playgroud)
这意味着将到期时间更改为较低的值确实可以作为一种方法来完成这项工作.
我的问题是,您可以为Google Chrome中的Cookie设置的最低到期时间是多少?有谁知道这个政策?
我刚刚尝试在64位操作系统上使用Chrome浏览器和Apache作为服务器,它运行完美.它显示cookie的到期时间是在2113年的某个地方.
dev-null-dweller可能是正确的:2038年1月19日星期二 03:14:07 UTC之后的任何日期都将绕到1900年左右的某个时间,从而迫使cookie立即消失(在32位平台上,即).
通过将Cookie到期时间设置为将来不超过10年左右来解决此问题.无论如何,这已经超出了任何电子设备的合理预期寿命.
如果有人试图理解为什么 Chrome 接受 cookie 但将最长过期日期设置为比预期短,Chrome 104 中进行了更改,将最长过期时间设置为不超过 400 天。
将 cookie 的过期日期限制为 400 天也适用于 js 设置expires。max-age
假设其他浏览器很快就会跟进。
我试图设置 3 年 cookie 过期时间,但出现了奇怪的行为,因为有些 cookie 有效期到 2038 年,希望这个答案能节省一些时间。顺便说一句,对于旧的 cookie,在 v104 之前设置,到期日期不会修改,至少目前是这样。
| 归档时间: |
|
| 查看次数: |
10751 次 |
| 最近记录: |