使用“找回密码”功能(最推荐,最安全)
这是 DedeCMS 自带的功能,应该首先尝试,前提是你的服务器环境支持 PHP 邮件发送。

(图片来源网络,侵删)
- 打开登录页面:在你的浏览器中访问 DedeCMS 后台登录地址,通常是
你的域名/dede/login.php。 - 找到“找回密码”链接:在登录框的下方,找到一个写着“忘记密码?”或“取回密码”的链接,点击它。
- 输入用户名或邮箱:在跳转到的页面中,输入你的管理员用户名或者你在后台绑定的电子邮箱地址。
- 接收邮件并重置:如果你的邮件服务器配置正确,系统会给你发送一封包含重置密码链接的邮件,点击邮件中的链接,按照提示设置一个新密码即可。
如果此方法失败,原因通常是:
- 你的网站没有配置好邮件功能(SMTP)。
- 你当初注册管理员时没有绑定有效的邮箱。
通过数据库直接修改密码(最常用,最可靠)
如果方法一失败,或者你没有配置邮件,那么直接修改数据库是最直接有效的方法。
操作步骤:
-
登录你的网站数据库:
(图片来源网络,侵删)- 通过你的虚拟主机控制面板(如 cPanel、Plesk)进入数据库管理工具(通常是 phpMyAdmin)。
- 找到你的 DedeCMS 网站所使用的数据库。
-
找到用户数据表:
- 在数据库中,找到以
dede_开头的表(如果你的安装前缀不是dede_,请替换成你自己的前缀)。 - 找到名为
dede_admin的表,这个表存储了所有管理员的信息。
- 在数据库中,找到以
-
找到管理员记录并修改密码:
- 点击
dede_admin表进行浏览。 - 你会看到
uid,uname,pwd等字段,找到你的管理员用户名对应的记录。 - 重点:DedeCMS 的密码是经过 MD5 加密后存储的,我们不能直接明文修改,需要生成一个 MD5 值。
- 假设你想把新密码设置为
123456。 - 使用一个在线 MD5 加密工具(在搜索引擎搜索“MD5加密”即可找到很多),将
123456进行加密,得到的结果是e10adc3949ba59abbe56e057f20f883e。 - 回到 phpMyAdmin,点击该记录的“编辑”按钮。
- 将
pwd字段的值修改为上面生成的 MD5 密码e10adc3949ba59abbe56e057f20f883e。 - 点击“执行”或“Go”按钮保存修改。
- 点击
-
登录后台:
- 现在你可以使用用户名
你的管理员用户名和新密码123456登录 DedeCMS 后台了。
- 现在你可以使用用户名
通过覆盖一个新文件重置密码(无需原密码)
这是一种“应急”方法,当你完全无法访问数据库时可以使用,它会创建一个临时的、拥有最高权限的管理员账户。

(图片来源网络,侵删)
操作步骤:
-
创建一个 PHP 文件:
- 在你的电脑上新建一个文本文档,将其重命名为
reset_pwd.php(注意后缀是.php)。 - 将下面的代码完整地复制并粘贴到这个文件中:
<?php // 需要填写的信息 $cfg_dbhost = 'localhost'; // 数据库主机,通常是 localhost $cfg_dbname = '你的数据库名'; // 你的数据库名 $cfg_dbuser = '你的数据库用户名'; // 你的数据库用户名 $cfg_dbpwd = '你的数据库密码'; // 你的数据库密码 $cfg_dbprefix = 'dede_'; // 数据库表前缀,如果不是 dede_ 请修改 $new_admin_name = 'newadmin'; // 你想创建的新管理员用户名 $new_admin_pwd = 'newpassword123'; // 你想创建的新管理员密码(明文即可,脚本会自动加密) // --- 以下代码一般无需修改 --- @set_time_limit(0); echo "<form method='post'>"; echo "数据库主机: <input name='dbhost' value='{$cfg_dbhost}' size='20'><br />"; echo "数据库名: <input name='dbname' value='{$cfg_dbname}' size='20'><br />"; echo "数据库用户名: <input name='dbuser' value='{$cfg_dbuser}' size='20'><br />"; echo "数据库密码: <input name='dbpwd' value='{$cfg_dbpwd}' size='20' type='password'><br />"; echo "表前缀: <input name='dbprefix' value='{$cfg_dbprefix}' size='10'><br />"; echo "新用户名: <input name='new_admin_name' value='{$new_admin_name}' size='20'><br />"; echo "新密码: <input name='new_admin_pwd' value='{$new_admin_pwd}' size='20'><br />"; echo "<input type='submit' value='执行重置'>"; echo "</form>"; if (isset($_POST['dbhost'])) { $cfg_dbhost = $_POST['dbhost']; $cfg_dbname = $_POST['dbname']; $cfg_dbuser = $_POST['dbuser']; $cfg_dbpwd = $_POST['dbpwd']; $cfg_dbprefix = $_POST['dbprefix']; $new_admin_name = $_POST['new_admin_name']; $new_admin_pwd = $_POST['new_admin_pwd']; $link = mysql_connect($cfg_dbhost, $cfg_dbuser, $cfg_dbpwd); if (!$link) { die('无法连接数据库: ' . mysql_error()); } mysql_select_db($cfg_dbname, $link); mysql_query("SET NAMES 'utf8'", $link); // 检查用户名是否已存在 $row = mysql_fetch_array(mysql_query("SELECT * FROM `{$cfg_dbprefix}admin` WHERE `userid` = '{$new_admin_name}' LIMIT 1")); if ($row) { // 如果存在,则更新密码 $pwd_md5 = md5($new_admin_pwd); $sql = "UPDATE `{$cfg_dbprefix}admin` SET `pwd` = '{$pwd_md5}' WHERE `userid` = '{$new_admin_name}'"; if (mysql_query($sql)) { echo "<font color='red'>成功!用户 [{$new_admin_name}] 的密码已重置为 [{$new_admin_pwd}]。</font>"; } else { echo "更新失败: " . mysql_error(); } } else { // 如果不存在,则插入新用户 $pwd_md5 = md5($new_admin_pwd); $sql = "INSERT INTO `{$cfg_dbprefix}admin` (`userid`, `pwd`, `uname`, `tname`, `typeid`, `spacesta`, `rank`, `matt`) VALUES ('{$new_admin_name}', '{$pwd_md5}', '{$new_admin_name}', '', 0, 0, 10, 0)"; if (mysql_query($sql)) { echo "<font color='red'>成功!已创建新管理员账户,用户名 [{$new_admin_name}],密码 [{$new_admin_pwd}]。</font>"; } else { echo "插入失败: " . mysql_error(); } } mysql_close($link); } ?> - 在你的电脑上新建一个文本文档,将其重命名为
-
上传并运行文件:
- 使用 FTP 或文件管理器,将你刚刚创建的
reset_pwd.php文件上传到你的 DedeCMS 网站的根目录(即与index.php同级的目录)。 - 在浏览器中访问这个文件,
http://你的域名/reset_pwd.php。
- 使用 FTP 或文件管理器,将你刚刚创建的
-
填写信息并执行:
- 页面会显示一个表单,自动填充了一些默认值。请务必修改“数据库名”、“数据库用户名”和“数据库密码”为你自己的信息,其他项可以根据你的实际情况修改。
- 输入你想要的新用户名和新密码。
- 点击“执行重置”按钮。
-
完成并清理:
- 如果成功,页面会提示你重置成功。
- 最重要的一步:立即通过 FTP 删除你上传的
reset_pwd.php文件!这是一个安全隐患,留在服务器上很危险。
-
登录后台:
现在你可以用你设置的新用户名和新密码登录后台了。
总结与建议
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 找回密码 | 最安全,官方推荐 | 依赖邮件服务器配置 | 邮件功能正常,且绑定了有效邮箱 |
| 改数据库 | 最可靠,直接高效 | 需要一定的数据库操作知识 | 邮件功能失效,或忘记绑定的邮箱 |
| 覆盖文件 | 无需原密码,操作直观 | 需要上传文件,有安全隐患(用后必删) | 完全无法访问数据库,且方法一、二都失败 |
对于大多数用户来说,方法一是首选,如果不行,方法二是次选,也是最稳妥的。方法三作为最后的应急手段。
希望这些方法能帮你成功解决问题!
