【发布时间】:2017-01-26 00:10:10
【问题描述】:
人们为什么要这样做?
session_start();
unset($_SESSION['session']);
session_destroy();
为什么人们做 session_start,而不是 unset,然后销毁?
【问题讨论】:
标签: php security session login
人们为什么要这样做?
session_start();
unset($_SESSION['session']);
session_destroy();
为什么人们做 session_start,而不是 unset,然后销毁?
【问题讨论】:
标签: php security session login
session_start() 恢复当前活动会话。通过这样做,您可以访问会话变量。
unset($_SESSION['session']); unset() 销毁指定的变量。
session_destroy(); 销毁与当前会话关联的所有数据。它不会取消设置与会话关联的任何全局变量,也不会取消设置会话 cookie。要再次使用会话变量,必须调用 session_start()。
更多详情请转至http://php.net/manual/en/function.session-destroy.php
或者你可以搜索
【讨论】:
这些树步骤解释:
Session_start(); -> 初始化会话,如果您已经有会话,则恢复会话。
未设置($_SESSION); -> 你需要确保一旦你销毁你的会话,即使在内存中,会话数组也不会存在。你可以直接去 session_destroy();继续,但加载的数组仍然存在。
Session_destroy(); -> 通过从客户端删除 cookie 来销毁会话。
【讨论】:
为了销毁当前活动的会话,您需要先启动会话。那是因为session_start() 恢复当前活动的会话。你需要访问它,因为你想知道你正在取消哪个会话。
您可能想看看手册中的这一行:
session_start() 根据通过 GET 或 POST 请求或通过 cookie 传递的会话标识符创建会话或恢复当前会话。
【讨论】: