在PHP
中清除登录会话的区别和最安全的方法是什么?当用户点击我的应用程序中的log out
时,基本上会调用此方法。
我看到了:
session_destroy()
session_unset()
或者只是做:
unset($_SESSION['my_key_1']);
unset($_SESSION['my_key_2']);
最好的方法是什么?
答案 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()
函数将使整个会话无效!会议没有举行。