diff --git a/admin.php b/admin.php index 6a393a8..0846083 100644 --- a/admin.php +++ b/admin.php @@ -25,21 +25,26 @@ if (isset($_GET['logout'])) { /* ---------------- 登录 ---------------- */ $loginErr = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['login'])) { - $pw = isset($_POST['admin_password']) ? (string)$_POST['admin_password'] : ''; - $cs = isset($_POST['csrf']) ? (string)$_POST['csrf'] : ''; + $user = isset($_POST['admin_user']) ? (string)$_POST['admin_user'] : ''; + $pw = isset($_POST['admin_password']) ? (string)$_POST['admin_password'] : ''; + $cs = isset($_POST['csrf']) ? (string)$_POST['csrf'] : ''; if (!fb_csrf_ok($cs)) { $loginErr = '会话已过期,请重试。'; } elseif (!fb_rate_check('admin_login', 10)) { $loginErr = '尝试次数过多,请一小时后再试。'; - } elseif (!fb_admin_password_is_set()) { - $loginErr = '本系统还没有设置登录口令,请先运行安装向导(install.php)完成设置。'; - } elseif ($pw !== '' && fb_admin_verify_password($pw)) { - fb_admin_login(); - fb_mod_log('login'); - fb_redirect('admin.php'); } else { - fb_rate_hit('admin_login'); - $loginErr = '口令不正确。'; + $rc = fb_admin_verify_login($user, $pw); + if ($rc === 0) { + fb_admin_login(); + fb_mod_log('login'); + fb_redirect('admin.php'); + } elseif ($rc === 2) { + $loginErr = '本系统还没有配置管理员账号,请先运行安装向导(install.php)完成设置。'; + } else { + fb_rate_hit('admin_login'); + // 不区分「用户名错」还是「口令错」,避免被用来探测账号 + $loginErr = '用户名或口令不正确。'; + } } } @@ -49,13 +54,21 @@ if (!fb_admin_logged_in()) {
请输入管理员口令(当前仍是 config.php 里的 admin_password 明文,登录后请到「站点设置」改成加密存储)。
请输入管理员用户名与口令(当前口令仍是 config.php 里的明文,登录后请到「站点设置」改成加密存储)。
已生成 config.php、建好数据库表。下面是接下来要做的两件事:
已建好数据库、写入站点设置。2 秒后自动进入首页(也可点下方按钮)。
+ 建议:装好后把 install.php 从服务器删掉。
+ 它在已安装状态下会拒绝重装,但删掉更干净。
+
安装后再删掉本文件即可。
- 邮件通知(SMTP)与附件上传(阿里云 OSS)都在安装完成后、在后台「站点设置」里配置,这里不需要填。
+ 其余设置都已自动处理:站点地址按访问域名自动探测,密钥与令牌已自动生成。
+ 邮件通知(SMTP)与附件上传(OSS)在装好后到后台「站点设置」里配,这里不用填。
+ 装完请删掉 install.php(它本身也会拒绝重复安装)。
+