我正在为网站登录系统工作,只是想确保我的实际登录和注销核心功能是正确的。
要登录我有:
session_start();
session_regenerate_id(true);
$_SESSION["user"] = $username;
$_SESSION["startTime"] = time();
然后退出我有
unset($_SESSION["user"]);
unset($_SESSION["startTime"]);
session_destroy();
这是正确的还是可以以任何方式改进?并且有人可以澄清session_regenerate_id(true)
真正在做什么吗?我从一些预先存在的代码中继承了它。
答案 0 :(得分:1)
1 /您可能不需要在登录部分中使用此代码:
session_regenerate_id(true);
有关它的更多信息,请访问PHP手册: http://www.php.net/manual/en/function.session-regenerate-id.php
2 /要将用户注销,会话值将被重置,会话数据将在服务器上销毁。
$_SESSION = array(); // Destroy the variables.
session_destroy(); // Destroy the session itself.
如果您决定稍后更改会话名称,则此代码仍然准确无误。
答案 1 :(得分:0)
我真的认为你需要做unset($_SESSION["user"]);
实际上session_destroy()
已经足够了。一旦你打电话给session_destroy()
那就足够了,在打电话之后就不会有任何$_SESSION["user"]