船说 CMS 后台密码忘记怎么找回
忘记船说 CMS 后台密码不用重装整站,读完这篇你能用改数据库或临时脚本两种方式,在 10 分钟内重新登进后台,并且知道怎么避免留下安全隐患。
第一步:确认后台地址和数据库信息
这一步要拿到两样东西:后台登录入口、数据库账号密码。
船说 CMS 的后台入口一般是 http://你的域名/admin.php,也有版本是 /admin/ 或 /manage.php,直接在浏览器试这几个地址,能看到登录框就对了。
数据库信息在网站根目录的配置文件里。用宝塔面板的话:网站 → 找到你的站点 → 点「根目录」→ 进入 config 文件夹,找 database.php 或 config.php,用编辑器打开,里面能看到 hostname(一般是 127.0.0.1)、database(库名)、username、password、prefix(表前缀,常见是 cs_ 或 chuan_)。
注意:别把配置文件内容截图发到群里问人,里面有数据库密码,等于把整站钥匙递出去。
第二步:先备份数据库再动手
改数据前必须留后路。宝塔面板左侧 数据库 → 找到对应库 → 点右侧「备份」,等状态变成「成功」再继续。如果用的是 phpMyAdmin,点顶部 导出 → 执行,把 .sql 文件存到本地。
一旦改错字段导致后台彻底打不开,直接点「还原」就能回到现在的状态。
第三步:方法一 —— 在 phpMyAdmin 里直接改密码
打开 宝塔面板 → 数据库 → 对应库右侧「管理」,会跳到 phpMyAdmin 登录页(用户名密码就是上一步查到的)。
左边列表找到管理员表,名字通常是 cs_admin、chuan_admin 或 admin。点进去,找到你的管理员账号那一行,点「编辑」。
看 password 字段(有的版本叫 pwd)的长度:
- 如果是 32 位十六进制字符(如
e10adc3949ba59abbe56e057f20f883e),说明是纯 MD5。 - 如果是 40 位或带
$2y$开头,加密方式不同,跳到第五步。
确认是纯 MD5 后,把 password 的值改成 e10adc3949ba59abbe56e057f20f883e,这对应明文密码 123456。如果表里还有 salt(盐值)字段,把它清空成空字符串。
点「执行」保存,然后用 admin / 123456 登录后台。
注意:如果表里有
salt字段而系统用的是md5(md5(密码).salt)这种双重加密,光改 password 是登不进去的,必须走第五步确认加密规则。
第四步:找出系统真实的加密方式
第三步没成功,说明加密规则不是纯 MD5。
在宝塔 文件 里进入网站根目录,点右上角「搜索」,搜索内容填 md5(,范围选「文件内容」,搜索目录填 /app/admin/controller 或直接搜整个站点。
重点看登录控制器文件(通常叫 Login.php 或 login.php),找到类似这行代码:
$password = md5(md5($pwd) . $user['salt']);
这句话告诉你加密公式。按公式在本地算一遍新密码的哈希值(可以用在线 MD5 工具算两层),再把结果填回数据库的 password 字段,salt 保持不变。
第五步:方法二 —— 用临时脚本重置
如果你没有 phpMyAdmin 权限,只能传文件,就用这个方法。
在电脑上新建 reset.php,内容如下,把数据库信息换成第一步查到的:
<?php
$conn = new mysqli('127.0.0.1', '数据库用户名', '数据库密码', '数据库名', 3306);
$conn->set_charset('utf8');
$pwd = md5('123456');
$conn->query("UPDATE `cs_admin` SET `password`='$pwd' WHERE `username`='admin'");
echo '影响行数:' . $conn->affected_rows;
$conn->close();
用宝塔 文件 → 上传 传到网站根目录,浏览器访问 http://你的域名/reset.php,页面显示「影响行数:1」就成功了。
注意:这个文件相当于一把没有锁的后门,改完密码后必须立刻在宝塔文件管理里删除它,否则任何人都能重置你的后台密码。
如果第五步的脚本报错或影响行数为 0,说明表名或用户名字段不对,回到第三步用 phpMyAdmin 确认准确的表名(含前缀)和字段名。
第六步:登录后马上收尾
用新密码登录后台,第一件事去 系统 → 管理员管理(不同版本菜单名略有差异)把密码改成你自己的强密码。
然后检查管理员列表里有没有多余的陌生账号,有就删掉。再顺手确认后台入口地址是否需要改个不常见的名字,避免被扫描器盯上。
小结
- 船说 CMS 后台密码存在数据库管理员表的
password字段,改这个字段就能重置。 - 动手前先备份数据库,出问题能一键还原。
- 纯 MD5 加密直接填
e10adc3949ba59abbe56e057f20f883e(即 123456)即可;带 salt 或 bcrypt 的必须先看源码确认公式。 - 临时重置脚本用完立刻删除,这是最容易留下的安全漏洞。
- 重置成功后立即改成强密码,并清理可疑的管理员账号。
原文链接:https://www.gj0.com/thread-540.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。