0

在本地主机上,cookie 被完美地销毁,但是当我在实时服务器上执行它时,cookie 被创建但没有被销毁,会话也没有被销毁。

这是销毁会话和cookie的代码:

if(!empty($_SESSION['userid']))
{
setcookie('user','',time()-4800,'/','liveserverdomain');
session_destroy();  
header('location: http://www.liveserverdomain/login.php');
}

请向我建议一个销毁会话和 cookie 的解决方案。

4

2 回答 2

0

您可以尝试像这样使用 unset() :

unset($_COOKIE["mycookie"]); 
于 2013-05-28T08:03:21.773 回答
0

您应该检查服务器的时区并将其与您的本地主机匹配。你有 4800 秒的时间窗口?尝试将值提高到 86400(一天)。

编辑:顺便问一下,你确定要删除的 cookie 是命名的'user'吗?……不应该session_name()吗?

删除 cookie 只会“清除”客户端的会话,而且不够安全。您还需要在服务器端清除它。

看看我对你的问题的评论。您需要取消设置会话变量$_SESSION = array();

于 2013-05-28T07:59:21.397 回答