get_row_prepare("SELECT * FROM MN_docker_user WHERE id=? limit 1", [$user_id]);
if (!$row) {
return null;
}
if (!hash_equals(docker_auth_session_hash($user_id, $row['password_hash']), $sid)) {
return null;
}
return $row;
}
/**
* 要求已登录,否则跳转登录页
* @return array 当前 Docker 用户行
*/
function docker_auth_require()
{
$row = docker_auth_current();
if (!$row) {
docker_auth_logout();
exit("");
}
// 状态校验
if ($row['qk'] === 'paused') {
docker_auth_logout();
sysmsg('该 Docker 账户已被暂停,请联系管理员');
}
if ($row['qk'] === 'expired' || $row['qk'] === 'pruned') {
docker_auth_logout();
sysmsg('该 Docker 账户已到期,请联系管理员续费');
}
// 到期校验(非永久账号)
global $date;
if ($row['datae'] !== '0000-00-00' && strtotime($date) - strtotime($row['datae']) > 0) {
docker_auth_logout();
sysmsg('您的 Docker 账户已到期,已经帮您自动退出登录!刷新即可重新登录');
}
return $row;
}
/**
* 仅允许未登录访问(如登录页)
*/
function docker_auth_guest_only()
{
$row = docker_auth_current();
if ($row) {
exit("");
}
}