DedeCMS后台密码忘记怎么办?5种高效恢复方法(含数据库操作,附详细步骤)
** 织梦CMS(DedeCMS)作为国内知名的建站系统,其后台密码遗忘是许多站长都可能遇到的棘手问题,本文将从最简单到最专业,为你详细解析5种DedeCMS后台密码忘记的恢复方法,包括利用系统自带功能、修改数据库文件、使用PHP重置脚本等,确保你能快速找回网站控制权。

“我的DedeCMS网站后台密码忘了,怎么办?!”——这可能是每一位DedeCMS站长在某个深夜都可能发出的绝望呐喊,后台是网站的“心脏”,密码一旦丢失,网站更新、内容管理、功能配置都将陷入停滞,别慌,作为一名经验丰富的程序员,我深知这种困境,我将为你提供一套从“小白友好”到“专家级”的完整解决方案,无论你是技术新手还是资深开发者,都能找到最适合你的方法,迅速找回对网站的控制权。
利用DedeCMS自带“找回密码”功能(首选,最安全)
这是最官方、最安全的方法,适用于大多数情况,前提是你的网站邮箱配置正确且能正常登录。
操作步骤:
- 访问登录页面: 打开你的DedeCMS后台登录地址,通常是
你的域名/dede/login.php。 - 找到找回密码入口: 在登录框下方,找到“忘记密码?”或类似的链接,点击它。
- 输入用户名或邮箱: 在跳转的页面中,输入你当初设置后台的用户名或绑定的管理员邮箱地址。
- 接收邮件并重置: 系统会向你的邮箱发送一个包含重置密码链接的邮件,登录你的邮箱,点击链接,按照提示设置一个新密码即可。
【专家点评】

- 优点: 无需任何技术操作,安全可靠,不会对网站造成任何风险。
- 缺点: 依赖邮箱服务的可用性,如果网站邮箱未配置、配置错误或邮件被误判为垃圾邮件,此方法将失效。
- 适用人群: 所有人,尤其是非技术背景的站长。
通过修改 data/common.inc.php 文件(无需数据库)
如果方法一失败,我们可以通过修改一个核心配置文件来重置密码,这个文件在DedeCMS中存储着数据库连接信息,我们可以在其中临时加入一段重置密码的PHP代码。
⚠️ 重要提醒:操作前请务必备份 data/common.inc.php 文件!
操作步骤:
-
备份文件: 通过FTP或文件管理器,找到并下载
/data/common.inc.php文件到本地,复制一份作为备份。
(图片来源网络,侵删) -
编辑文件: 用代码编辑器(如Notepad++, VS Code)打开
common.inc.php文件。 -
添加重置代码: 在文件末尾的
?>标签之前,添加以下PHP代码:// DedeCMS 临时密码重置脚本 // 请将 'new_password' 替换为你想要设置的新密码 $new_password = md5('new_password'); // 注意:这里必须是MD5加密后的值 $db->Execute("UPDATE `#@__admin` SET `pwd`='$new_password' WHERE `userid`='admin'"); // 重置成功后,请务必删除下面这行代码! echo "密码已重置为 new_password,请立即删除此代码并重新登录!"; exit();- 代码解释:
$new_password = md5('new_password');:将你设置的新密码(123456)进行MD5加密,DedeCMS的密码是MD5存储的。UPDATE#@adminSET ...:执行SQL语句,更新管理员表(`#@admin是DedeCMS的表前缀,实际会替换为你数据库中的前缀)中userid为admin` 的用户的密码。echo ...和exit();:输出提示信息并终止脚本,防止代码继续执行。
- 代码解释:
-
保存文件并访问: 保存修改后的
common.inc.php文件,然后在浏览器中访问你的网站首页(任意页面均可)。 -
查看结果与清理: 页面上会显示我们预设的提示信息,你的管理员密码已经被临时设置为
new_password。 -
删除代码并恢复: 立即回到
common.inc.php文件,删除你刚刚添加的所有PHP代码,恢复文件到原始状态,然后保存。 -
登录后台: 使用用户名
admin和新密码new_password登录后台,登录成功后,请立即到“系统” -> “系统用户管理”中修改一个更安全、更复杂的密码。
【专家点评】
- 优点: 不需要直接操作数据库,对新手相对友好,成功率较高。
- 缺点: 需要具备基础的文件编辑能力,如果文件权限不正确可能导致操作失败。
- 适用人群: 有一定文件操作经验的站长。
直接操作数据库(终极方案,最彻底)
如果以上方法都无效,或者你习惯直接与数据库打交道,那么直接修改数据库是最直接、最可靠的方法。
操作步骤:
-
获取数据库信息: 从
/data/common.inc.php文件中找到你的数据库连接信息:$cfg_dbhost: 数据库主机(通常是localhost)$cfg_dbuser: 数据库用户名$cfg_dbpwd: 数据库密码$cfg_dbname: 数据库名$cfg_dbprefix: 数据库表前缀(dede_)
-
连接数据库: 使用phpMyAdmin(通常由你的主机服务商提供)或类似的数据库管理工具,连接到你的数据库。
-
定位管理员表: 在数据库列表中,找到你的数据库名,然后找到以
$cfg_dbprefix开头的表,找到管理员表,通常是dede_admin(如果你的前缀是dede_)。 -
修改密码:
- 点击
dede_admin表进行浏览。 - 找到
userid字段为admin的那条记录。 - 找到
pwd字段,点击旁边的“编辑”图标。 - 在“函数”下拉菜单中,选择
MD5。 - 在右侧的输入框中,输入你想要设置的新明文密码(
your_new_password)。 - 点击“执行”或“Go”按钮,系统会自动将你的明文密码转换为MD5值并保存。
- 点击
-
登录验证: 你可以使用用户名
admin和你刚刚设置的新密码登录后台了,登录成功后,请务必按照方法二中的最后一步,修改一个更安全的密码。
【专家点评】
- 优点: 最直接、最彻底的方法,不受任何系统功能限制。
- 缺点: 风险较高,需要熟悉数据库操作,误操作可能导致数据丢失或网站瘫痪。
- 适用人群: 资深程序员、数据库管理员。
使用一键重置脚本(懒人福音,需谨慎)
网络上流传一些专门用于重置DedeCMS密码的PHP脚本,这种方法非常快,但安全风险极高。
操作步骤:
- 下载脚本: 从可信的来源下载一个DedeCMS密码重置脚本(
dede_reset_pwd.php)。 - 上传脚本: 通过FTP将脚本上传到你的DedeCMS网站根目录。
- 访问执行: 在浏览器中访问
http://你的域名/dede_reset_pwd.php。 - 按照提示操作: 脚本通常会引导你输入新密码并完成重置。
- 删除脚本: 完成密码重置后,必须立即从服务器上删除这个脚本! 它是网站的重大安全隐患,任何人访问它都能重置你的密码。
【专家点评】
- 优点: 速度最快,几乎零操作门槛。
- 缺点: 极度不安全! 你无法保证脚本的纯净性,可能包含后门或恶意代码,这是黑客最喜欢利用的方式之一。
- 适用人群: 仅建议在完全信任脚本来源且无其他选择的情况下使用,并务必在用完后立即删除。
通过FTP修改 config_updatepwd.php 文件(特定版本有效)
这个方法利用了DedeCMS早期版本的一个功能文件,适用于一些特定或老旧的版本。
操作步骤:
- 定位文件: 通过FTP找到
/dede/目录下的config_updatepwd.php文件。 - 编辑文件: 打开该文件,找到类似下面的代码段:
$pwd = isset($pwd) ? trim($pwd) : ''; $pwdok = isset($pwdok) ? trim($pwdok) : ''; if($pwd == '' || $pwdok == '' || $pwd != $pwdok) { ShowMsg('密码为空或两次输入不一致!', '-1'); exit(); } // 更新密码 $rs = $dsql->ExecuteNoneQuery("UPDATE `#@__admin` SET `pwd`='".md5($pwd)."' WHERE id='".$cuserLogin->getUserID()."'"); - 绕过验证: 为了绕过密码为空或两次输入不一致的检查,你可以将
ShowMsg那几行注释掉或删除,修改后如下:$pwd = isset($pwd) ? trim($pwd) : '123456'; // 默认一个密码 $pwdok = isset($pwdok) ? trim($pwdok) : '123456'; // 默认一个确认密码 // 注释掉或删除下面的验证逻辑 // if($pwd == '' || $pwdok == '' || $pwd != $pwdok) // { // ShowMsg('密码为空或两次输入不一致!', '-1'); // exit(); // } // 更新密码 $rs = $dsql->ExecuteNoneQuery("UPDATE `#@__admin` SET `pwd`='".md5($pwd)."' WHERE id='".$cuserLogin->getUserID()."'"); - 保存并访问: 保存文件后,在浏览器中访问
http://你的域名/dede/config_updatepwd.php,页面会自动执行密码重置逻辑,将密码设置为123456。 - 恢复文件: 访问成功后,立即将
config_updatepwd.php文件恢复到原始状态。
【专家点评】
- 优点: 对于特定版本非常有效。
- 缺点: 仅适用于特定版本,通用性差,修改核心文件有一定风险。
- 适用人群: 使用较旧DedeCMS版本且其他方法无效的用户。
总结与最佳实践
| 方法 | 优点 | 缺点 | 推荐指数 |
|---|---|---|---|
| 找回密码功能 | 最安全,官方支持 | 依赖邮箱 | ★★★★★ |
修改 common.inc.php |
无需数据库,较安全 | 需文件操作能力 | ★★★★☆ |
| 直接操作数据库 | 最彻底,最可靠 | 风险高,需数据库知识 | ★★★★☆ |
| 一键重置脚本 | 速度最快 | 安全风险极高 | ★☆☆☆☆ |
修改 config_updatepwd.php |
特定版本有效 | 通用性差 | ★★☆☆☆ |
【给站长的最终建议】
- 首选方法一: 永远把官方自带的找回功能作为第一选择。
- 做好备份: 无论是修改文件还是数据库,备份是程序员的第一准则,它能让你在出错时有后悔药可吃。
- 安全第一: 密码找回后,请立即修改一个包含大小写字母、数字和符号的强密码,并妥善保管。
- 预防胜于治疗: 建议将管理员密码记录在安全的密码管理器中,或者使用双因素认证(2FA)来增强账户安全性,避免未来再次发生类似问题。
希望这篇详尽的指南能帮助你成功解决DedeCMS后台密码遗忘的难题,如果你在操作过程中遇到任何问题,欢迎在评论区留言,作为一名程序员,我乐于助你解决技术难题。
