在PHP中取消设置会话的最佳方法

时间:2012-11-09 06:44:57

标签: php session

PHP中清除登录会话的区别和最安全的方法是什么?当用户点击我的应用程序中的log out时,基本上会调用此方法。

我看到了:

 session_destroy()
 session_unset()

或者只是做:

unset($_SESSION['my_key_1']);
unset($_SESSION['my_key_2']);

最好的方法是什么?

3 个答案:

答案 0 :(得分:12)

session_destroy 正在删除整个会话。

session_unset 从会话中删除变量 - 会话仍然存在。只截断数据。

所以,如果你想让内存免费 session_destroy 是最好的。

答案 1 :(得分:1)

我知道的最佳解决方案是使用session_regenerate_id(true);

这将删除当前会话数据并重新生成会话ID。

分配新的会话ID是一个好主意,因为它有助于将用户视为一个全新的(如果您的代码中的某些内容依赖于会话ID)。

答案 2 :(得分:1)

session_unset()函数释放当前注册的所有会话变量。意思是,它会这样做:

unset($_SESSION);
$_SESSION = array();

session_destroy()函数将使整个会话无效!会议没有举行。