From 3ca83c8662fc45120d628f16f5ac2a55c20993eb Mon Sep 17 00:00:00 2001 From: Leonmmcoset Date: Tue, 15 Jul 2025 19:42:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=AE=A4=E8=AF=81):=20=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E5=A4=9A=E7=AE=A1=E7=90=86=E5=91=98=E8=B4=A6=E5=8F=B7=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=B9=B6=E6=9B=B4=E6=96=B0=E5=AF=86=E7=A0=81=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将单管理员配置改为支持多账号的数组结构 - 更新数据库和SMTP服务的密码配置 - 修改登录逻辑以支持多账号验证 --- admin/login.php | 16 +++++++++++----- config.php | 8 +++++--- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/admin/login.php b/admin/login.php index 62a1f60..368212c 100644 --- a/admin/login.php +++ b/admin/login.php @@ -10,11 +10,14 @@ if (!isset($_SESSION['admin'])) { $username = $_POST['username']; $password = $_POST['password']; - if ($username === ADMIN_USERNAME && $password === ADMIN_PASSWORD) { + $adminFound = false; + foreach ($admin_accounts as $account) { + if ($username === $account['username'] && $password === $account['password']) { $_SESSION['admin'] = [ - 'id' => 1, // 配置文件中未定义管理员ID,使用默认值1 - 'username' => $username + 'id' => $account['id'], + 'username' => $account['username'] ]; + $adminFound = true; // 处理自动登录 if (isset($_POST['remember_me']) && $_POST['remember_me'] === 'on') { @@ -34,9 +37,12 @@ if (!isset($_SESSION['admin'])) { header('Location: index.php'); exit(); - } else { - $error = '用户名或密码错误'; } + } + + if (!$adminFound) { + $error = '用户名或密码错误'; + } } ?> diff --git a/config.php b/config.php index f13d3d2..7ee3ed4 100644 --- a/config.php +++ b/config.php @@ -20,9 +20,11 @@ define('SMTP_PASSWORD', ''); define('SMTP_FROM_EMAIL', 'leonmm2@163.com'); define('SMTP_FROM_NAME', 'leonmm2@163.com'); -// 管理员账号 -define('ADMIN_USERNAME', 'Admin'); -define('ADMIN_PASSWORD', ''); +// 管理员账号 - 支持多个账号 +$admin_accounts = [ + ['id' => 1, 'username' => 'Admin', 'password' => ''], + // 可添加更多管理员账号,格式: ['id' => 数字, 'username' => '用户名', 'password' => ''] +]; // 数据库连接 $conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);