为mac设备设置cookie过期的正确方法

时间:2016-07-23 05:19:02

标签: php facebook macos cookies

我在我的一个项目上使用我自己的登录系统和facebook登录系统登录系统。问题是Facebook登录似乎没有登出mac设备。

我的代码

session_start();

if(isset($_COOKIE['checkuserst'])) {
unset($_COOKIE['checkuserst']);
setcookie('checkuserst', '', time() - 3600, '/');
}

unset($_SESSION['username']);

header("Location:index.html");

除了safari之外,所有Windows浏览器cookie都将过期,而在mac中,没有任何浏览器cookie过期。

有人能指出正确的解决方法。

1 个答案:

答案 0 :(得分:1)

您不应该依赖浏览器中的Cookie过期来确定用户是否已注销(因为用户很容易制作欺诈性Cookie)。将会话过期存储在$_SESSION或数据库中。当您收到请求时,即使存在cookie,也请首先检查服务器存储中的匹配cookie并确保它没有过期。

这样浏览器中发生的任何事情(例如浏览器不删除过期的cookie)都不会影响您的服务器端安全性