饼干&在实时服务器上执行代码时会话没有被破坏?

时间:2013-05-28 07:56:42

标签: php session cookies

在localhost上,cookie完全被破坏,但是当我在实时服务器上执行它时,cookie被创建但没有被破坏而且会话也没有被破坏。

以下是销毁会话和cookie的代码:

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

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

2 个答案:

答案 0 :(得分:0)

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

编辑顺便说一下,您确定要删除的Cookie名为'user'吗? ......不应该是session_name()

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

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

答案 1 :(得分:0)

您可以尝试使用unset(),如下所示:

unset($_COOKIE["mycookie"]);