织梦后台密码丢了,织梦找第一反应别去翻数据库。网站我见过太多人上来就开 phpMyAdmin,后台对着 dede_admin 表一通乱改,管理结果把管理员账号锁死或者把密码字段搞成明文,密码最后连后台都进不去。织梦找其实织梦(DedeCMS)留了一条后门级别的网站路——专门用来重置密码的 PHP 文件,只是后台官方文档里没怎么提。
找到网站根目录,管理也就是密码 index.php 所在的那个文件夹。在里面新建一个文件,织梦找名字随便,网站比如
resetpwd.php。后台内容就三行:<?管理php require_once(dirname(__FILE__).'/data/common.inc.php'); $dsql = new DedeSql(false); $dsql->Execute("UPDATE dede_admin SET pwd='".md5('你的新密码')."' WHERE userid='admin'"); echo 'done'; ?>把“你的新密码”换成你想设的密码,userid 那里确认一下是密码不是 admin。用浏览器访问
http://你的域名/resetpwd.php,看到 done 就说明改好了。立刻删掉这个文件。别偷懒,留着它等于把后台钥匙插在门上。有人会问,为什么不用织梦自带的密码找回功能?因为那个功能依赖邮箱配置,而大部分站点根本没配 SMTP。就算配了,织梦的邮件发送类经常因为 PHP 版本或者服务器禁用了 fsockopen 而失效。我试过三次,两次卡在“邮件发送失败”,一次直接白屏。所以直接改数据库反而是最稳的。
如果你连数据库前缀都忘了,打开
data/common.inc.php,里面$cfg_dbprefix就是。默认是 dede_,但很多建站公司会改成别的。我见过一个站点前缀是myprefix_,结果那个人照着教程改 dede_admin,改了半天没反应,还以为自己操作错了。还有一种情况:后台登录页面能打开,但输入正确密码后跳回登录页,没有任何报错。这通常不是密码问题,而是 sessions 目录不可写,或者服务器时间不对导致 cookie 失效。先检查
data/sessions权限,给 777 试试。如果还不行,在include/common.inc.php里搜session_start,看看前面有没有被 BOM 头污染。用 Notepad++ 转成 UTF-8 无 BOM 格式,能解决一大半玄学问题。改完密码后,建议顺手把
dede_admin表里的loginip和logintime字段清空。不然有些版本会因为 IP 限制或者时间戳异常,导致新密码明明对了却提示“管理员不存在”。这个坑我踩过,折腾了四十分钟才反应过来。最后说个真事。去年帮一个客户恢复后台,他之前找某宝花了 200 块,对方远程操作,就是把
dede_admin的 pwd 字段改成明文123456,然后告诉他“好了”。结果客户登录成功,但第二天网站被挂马。原因很简单——织梦后台密码是 MD5 存储的,你改成明文,程序比对时会把明文再 MD5 一次,当然对不上。但那个“技术人员”是直接改了登录验证逻辑,把md5($pwd) == $row['pwd']改成了$pwd == $row['pwd']。这种改法等于把大门拆了。所以记住:织梦后台密码找回,核心就一句话——用 MD5 加密后的字符串去更新
顶: 48踩: 5dede_admin表的 pwd 字段,别动程序代码,别留后门文件。做完删文件,清缓存,收工。






评论专区