46 lines
1.6 KiB
PHP
46 lines
1.6 KiB
PHP
<?php
|
|
/**
|
|
* 管理员密码重置工具
|
|
* 使用方法:上传到宝塔根目录,访问:域名/reset_admin.php
|
|
* 注意:使用后请务必删除此文件以保安全!
|
|
*/
|
|
require_once 'config.php';
|
|
|
|
$new_username = 'admin';
|
|
$new_password = 'admin123'; // 您可以将此处修改为您想要的密码
|
|
$hashed_password = password_hash($new_password, PASSWORD_DEFAULT);
|
|
|
|
try {
|
|
$db = db();
|
|
|
|
// 检查表是否存在
|
|
$db->exec("CREATE TABLE IF NOT EXISTS admins (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
username VARCHAR(150) UNIQUE NOT NULL,
|
|
password VARCHAR(255) NOT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
)");
|
|
|
|
// 更新或插入管理员
|
|
$stmt = $db->prepare("SELECT id FROM admins WHERE username = ?");
|
|
$stmt->execute([$new_username]);
|
|
if ($stmt->fetch()) {
|
|
$stmt = $db->prepare("UPDATE admins SET password = ? WHERE username = ?");
|
|
$stmt->execute([$hashed_password, $new_username]);
|
|
} else {
|
|
$stmt = $db->prepare("INSERT INTO admins (username, password) VALUES (?, ?)");
|
|
$stmt->execute([$new_username, $hashed_password]);
|
|
}
|
|
|
|
echo "<h3>管理员账号重置成功!</h3>";
|
|
echo "<p>用户名: <b>$new_username</b></p>";
|
|
echo "<p>新密码: <b>$new_password</b></p>";
|
|
echo "<p style='color:red;'><b>警告:请立即删除 reset_admin.php 文件!</b></p>";
|
|
echo "<a href='admin_login.php'>前往登录</a>";
|
|
|
|
} catch (Exception $e) {
|
|
echo "<h3>重置失败:</h3>";
|
|
echo "<p>" . $e->getMessage() . "</p>";
|
|
echo "<p>请检查 db/config.php 中的数据库连接配置是否正确。</p>";
|
|
}
|