首页 文章

Chrome忽略跨域Cookie过期

提问于
浏览
0

在域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安全设置,我将不得不忍受?

1 回答

  • 2

    它与过期有关,而与域无关 . 您使用的 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);
    

相关问题