🔑 重置管理员密码
忘记 TBlog 管理员密码怎么办?这个小工具能在 30 秒内帮你重置,无需登录数据库。
⚠️
安全提示
reset.php 任何人都能访问,重置完成后必须立即删除。如忘记删除,黑客可重置你的管理员密码。
📝 使用步骤
-
下载并解压
下载上面的
reset.zip,解压得到reset.php。 -
上传到网站根目录
把
reset.php上传到 TBlog 安装目录(与config.php同级)。 -
浏览器访问
打开
https://你的域名/reset.php,会看到重置表单。 - 填写新账号密码 输入新的管理员用户名和新密码,点击「重置密码」。
- 看到成功提示 页面会显示「密码重置成功」以及新账号信息。
-
删除 reset.php
立即通过 FTP / SSH / 文件管理器删除
reset.php,不要留在服务器上。 -
登录后台
用新账号密码登录
https://你的域名/admin/。
🔬 工作原理
工具会自动读取 config.php 中的数据库配置,然后连接数据库更新 settings 表:
SQL 等价操作
-- 自动读取 config.php 中的 DB_HOST / DB_USER / DB_PASS / DB_NAME / DB_PORT / DB_PREFIX INSERT INTO `{prefix}settings` (`key`, `value`) VALUES ('admin_user', '你的用户名') ON DUPLICATE KEY UPDATE `value` = VALUES(`value`); INSERT INTO `{prefix}settings` (`key`, `value`) VALUES ('admin_hash', 'bcrypt 哈希') ON DUPLICATE KEY UPDATE `value` = VALUES(`value`);
密码使用 PHP 的 password_hash($pass, PASSWORD_DEFAULT) 哈希,与 TBlog 登录验证逻辑完全一致。
🛠 手动方案(不想用工具?)
如果你能直接登录 MySQL,也可以用一条 SQL 搞定。先用 PHP 生成密码哈希:
生成哈希
# 把新密码改成你自己想要的 php -r "echo password_hash('你的新密码', PASSWORD_DEFAULT);"
把输出的哈希复制下来,执行 SQL:
重置 SQL
UPDATE `tblog_settings` SET `value` = '把上面输出的哈希粘到这里' WHERE `key` = 'admin_hash';
表名前缀 tblog_ 要改成你 config.php 里 DB_PREFIX 配置的实际值。
❓ 常见疑问
找不到 config.php 怎么办?
工具会按顺序查找 /config.php 和 /include/config.php。如果你放在其他位置,请把 reset.php 移到与 config.php 同级的目录。
数据库连接失败?
检查 config.php 中的 DB_HOST / DB_USER / DB_PASS / DB_NAME / DB_PORT 是否正确。可以先用 phpMyAdmin 测试连接。
重置后还是登录不上?
可能是浏览器缓存了旧 session。清空 cookie 再试,或打开无痕模式重新登录。
reset.php 删不掉?
用 SSH 强制删除:rm -f /path/to/reset.php。或通过文件管理器、FTP 软件删除。
担心安全问题?
所有源码都已发布在 GitHub,你可以审查 reset.php 完整代码,不收集任何信息,不连接外部服务器。
✅
推荐做法
下载工具 → 重置密码 → 立刻删除 reset.php → 修改密码为强密码(大小写 + 数字 + 符号,12 位以上)。