浏览器记住cookie,即使不应该这样做



我已经建立了我的登录和退出系统,但它似乎不能正常工作在一些浏览器,如chrome和firefox。问题是,即使cookie在会话结束时过期,浏览器也会记住它们。有人有解决办法吗?

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

提前感谢!

EDIT:对不起,我弄糊涂了。我根本没有取消cookie,浏览器应该在关闭时销毁它,但它没有。这就是问题所在

设置过期日期为过去

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

参见php手册中的示例。

编辑:

要在浏览器或选项卡关闭时删除cookie,可以使用javascript onunload。

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

在页面卸载时将cookie的过期日期设置为过去。

要删除cookie需要设置一个负时间

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

就像PHP Doc说的:

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

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

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

相关内容

最新更新