使用PHP清除Cookie在Safari中表现得很奇怪

时间:2015-07-12 23:26:55

标签: javascript php ios cookies safari

我使用以下代码删除PHP中的cookie:

setcookie('test', null, -1, '/');

除了在Safari中,它在所有浏览器中都能很好地工作。如果做得足够快,Safari的后续请求会将此Cookie发送到网络服务器。

我能想到的最简单的例子:

<?php

setcookie('test', null, -1, '/');
print_r( $_COOKIE );

?>

在浏览器中快速点击F5。有时您会看到已删除值的cookie。平台似乎并不重要。我在iPhone,Safari(Windows)和Safari(Mac)上得到了这个结果。对我来说,它看起来像一个Safari bug,但也许我在这里错过了什么?

我希望cookie永远不会在以下请求中设置,无论多快。感谢您的任何见解。

2 个答案:

答案 0 :(得分:0)

此问题已报告here

通过设置路径解决方案:

setcookie('testcookie', 'cookiesetting temporary', time()+3600, '/path/'); // set 
setcookie('testcookie', '', time()-3600, '/path/'); // delete

答案 1 :(得分:0)

您是否在第四个参数中正确设置了路径?

safari cookie issue