Chrome 忽略跨域 cookie 过期

发布于 2024-12-15 11:15:00 字数 415 浏览 1 评论 0原文

在域 1 上,我有一个发布到域 2 的表单 域 2

<form method="post" action="http://domain2.com/result.php">

上的脚本 result.php 在域 2 上设置了一个 cookie,该 cookie 应该持续到 2038 年。

setcookie('test', 'val', 2147485540, '/', '.domain2.com', false);

cookie 正在存储,但在 Chrome 上,过期时间是设置为“当我关闭浏览器时”(换句话说,0)。在 Firefox 上,过期设置正确。

有没有办法解决这个问题,或者这是一个关于跨域发布的 Chrome 安全设置,我只能忍受?

On domain 1, I have a form that posts to domain 2

<form method="post" action="http://domain2.com/result.php">

The script result.php on domain 2 sets a cookie on domain 2 that is supposed to last until the year 2038.

setcookie('test', 'val', 2147485540, '/', '.domain2.com', false);

The cookie is being stored, but on Chrome, the expiration is set to "When I close my browser" (in other words, 0). On Firefox the expiration is set correctly.

Is there any way around this or is this a Chrome security setting regarding cross-domain posting that I'll just have to live with?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽清梦 2024-12-22 11:15:01

它与过期有关,而不是域。您使用的 2147485540 相当于 Tue, 19 Jan 2038 03:45:40 某些浏览器无法处理 1 月 19 日星期二 03:14:07 UTC 以外的日期2038.

这会起作用:

setcookie('test', 'val', gmmktime(3, 14, 7, 1, 19, 2038), '/', '.domain2.com', false);

这不会:

setcookie('test', 'val', gmmktime(3, 14, 8, 1, 19, 2038), '/', '.domain2.com', false);

It has to do with the expiration, not the domain. You are using 2147485540 which is equivalent to Tue, 19 Jan 2038 03:45:40 Some browsers have trouble with dates beyond 03:14:07 UTC on Tuesday, 19 January 2038.

This will work:

setcookie('test', 'val', gmmktime(3, 14, 7, 1, 19, 2038), '/', '.domain2.com', false);

This won't:

setcookie('test', 'val', gmmktime(3, 14, 8, 1, 19, 2038), '/', '.domain2.com', false);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文