会话未设置,还是session_destroy?

时间:2011-04-18 01:55:15

标签: php

  

可能重复:
  What is the difference between session_unset() and session_destroy() in PHP?

安全性最好的是什么,如果会话未设置,下次会话必须访问而不是重新创建时加载时间会更好?

2 个答案:

答案 0 :(得分:50)

Unset将销毁特定的会话变量,而session_destroy()将销毁该用户的所有会话数据。

这取决于你的应用程序,你应该使用哪一个。请记住以上内容。

unset($_SESSION['name']); // will delete just the name data

session_destroy(); // will delete ALL data associated with that user.

答案 1 :(得分:9)

要注意的是,$_SESSION变量在调用session_destroy()之后仍在同一页面中设置,因为在使用unset($_SESSION)$_SESSION = array()时并非如此。此外,unset($_SESSION)会打消$_SESSION超全局,因此只有在您销毁会话时才会这样做。

尽管如此,最好像PHP文档那样在the first example for session_destroy()中使用它。