Chrome忽略跨域cookie过期


Chrome ignoring cross-domain cookie expiration

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

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

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

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

cookie正在被存储,但在Chrome上,有效期设置为"当我关闭浏览器时"(换句话说,0)。在Firefox上,有效期设置正确。

是否有任何方法来解决这个问题,或者这是一个关于跨域发布的Chrome安全设置,我将不得不忍受?

这与过期有关,与域名无关。您正在使用的2147485540相当于Tue, 19 Jan 2038 03:45:40一些浏览器在2038年1月19日星期二03:14:07 UTC的日期有问题。

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);