浏览器记住cookie即使不应该

时间:2013-05-29 14:26:30

标签: php cookies browser

我已经构建了我的登录和退出系统,但它似乎在某些浏览器(如chrome和firefox)中无法正常工作。问题是浏览器会记住cookie,即使它们是在会话结束时到期。 有人有解决方案吗?

我只想注意创建另一个cookie以监控它是否应该记住是不是一个有效的解决方案,必须有一个更专业的方式。

提前谢谢!

编辑:我道歉我很困惑。我根本没有取消cookie,浏览器应该在它关闭时销毁它,但事实并非如此。这就是问题

3 个答案:

答案 0 :(得分:2)

将过期日期设置为过去

// set the expiration date to one hour ago
setcookie ("cookie", "", time() - 3600);

请参阅php手册中的this example

修改

要在浏览器或标签页关闭时删除Cookie,您可以使用javascript onunload。

<script>
    window.onunload=function()
    {
        document.cookie = 'cookie =; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
    }
</script>

它会将Cookie过期日期设置为过去,在页面卸载。

答案 1 :(得分:1)

要删除Cookie,您需要设置一个负时间。

setcookie('cookie', '', time() - 3600);

答案 2 :(得分:1)

PHP Doc说:

  

如果设置为0或省略,则cookie将在结束时到期   会话(浏览器关闭时)

这是PHP的想法,但有些浏览器不这样做。只需设置负时间

setcookie("cookie", "", time() - 10);

它有效。