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(""); } }