我想创建一个简单的会话管理脚本并知道您对此有何看法?逻辑上正确吗?
我读到如果 https 不可用,那么每次加载时的 session_regenerate_id 可能是一个解决方案,对吧?
if($_SESSION["user"]["logged"] && is_numeric($_SESSION["user"]["id"])){
$id = $_SESSION["user"]["id"];
$sid = file_get_contents($id); // read from db the previous key
if($sid == $_SESSION["user"]["key"]){
echo "<p><a href='?logout'>logout</a></p>";
echo "<p><a href='/login.php'>refresh</a></p>";
session_destroy();
session_start();
session_regenerate_id(true);
$_SESSION["user"]["logged"] = true;
$_SESSION["user"]["id"] = $id;
$_SESSION["user"]["key"] = uniqid();
file_put_contents($id, $_SESSION["user"]["key"]); // write to db the new key
}
else {
// logout
}
}
先感谢您!