清除登录会话的区别和最安全的方法是PHP
什么?log out
基本上会在用户单击我的应用程序时调用它。
我看到:
session_destroy()
session_unset()
或者干脆做:
unset($_SESSION['my_key_1']);
unset($_SESSION['my_key_2']);
什么是最好的方法?
session_destroy正在删除整个会话。
session_unset从会话中删除一个变量 - 会话仍然存在。只有数据被截断。
所以,如果你想释放内存session_destroy是最好的。
我知道的最好的解决方案是使用session_regenerate_id(true);
这将删除当前会话数据并重新生成会话 ID。
分配一个新的会话 ID 是一个好主意,因为它有助于将用户视为一个全新的用户(以防您的代码中的某些内容依赖于会话 ID)。
该session_unset()
函数释放当前注册的所有会话变量。意思是,它将这样做:
unset($_SESSION);
$_SESSION = array();
该session_destroy()
功能将使整个会话无效!会议没有举行。