评论

收藏

[织梦CMS] 织梦dedecms 忘记管理员后台密码的解决技巧

建站程序 建站程序 发布于:2021-07-27 21:44 | 阅读数:197 | 评论:0

好多情况下,由于各种原因忘记了dedecms的密码,给大家带来了很大的麻烦,官方也没有出直接修改密码的东西可能是为了安全考虑吧。下面是最根本的方法,需要的朋友可以参考下。

首先进入你的MYSQL后台,然后在你的名用中 找到dede_admin这项如图:


1159280.jpg
图片1

然后点他右边的 "浏览"按扭 “图右”

1159281.jpg
图片2

然后会看到下面的图:


1159282.jpg
图片3

然后我们看到了自己的用户名与MD5加密的密码,DEDE是多少位加密的我不知道,MD5我试了好多也解不了。现在只有改掉密码,先在前面的 选项打钩 然后点下面的 “更改”按钮(就是那个笔)如图:


1159283.jpg
图片4

看下图:


1159284.jpg
图片5

把下面的MD5码替换以前的MD5码
dedecms 5.3以上版本 版本 密码为admin
21232f297a57a5a743894a0e
dedecms 5.1版本 密码为 123456
c3949ba59abbe56e057f
其实最好的方法是你先本地安装下dedecms相对应的版本,然后再查看pwd字段的密码值,修改一下即可。
然后点“执行” 到后台你的密码就改成了admin
注:上面的操作虽然简单,但环境却不是那么容易的,需要你有phpmyadmin,如果你可能就自己安装一个phpmyadmin,如果没条件就只要问服务器管理人员要了。对于phpmyadmin的配置方法,我们会给你提供一个好点的,容易的。phpmyadmin不断升级,使用越来越不人性化。
下面是重要的补充:如果上面的方法不对可能是因为版本问题。针对的是dedecms v5.1
今日在帮一会员处理dede一些问题时发现忘记了管理员密码,囧。重新安装的话太费劲,便想进入mysql中修改密码,整个过程还是比较麻烦。本想从自己一个dedeV5.5的测试站点上复制密码来更新,但由于忘记密码的站点版本是V5.1的,覆盖密码后却怎么也登录不上。后来Google之,发现原来V5.1的加密算法跟V5.5的不同,生成的密码密文亦不同。几经周折,找到一加密后的密文是“c3949ba59abbe56e057f”,然后到sql中执行更新,具体脚本如下:
---将管理员密码重置为123456

Update `dede_admin` set pwd='c3949ba59abbe56e057f' where userid='admin'

由于要进入到数据库中去执行该语句,相对比较麻烦,于是写成个脚本,内容如下(注:此方法适用于dedecms v5.1):

<?php 
/********************** 
DedeCMS 管理员帐号重设工具. 
http://bbs.dedecms.com/ 
***********************/ 
//error_reporting(E_ALL || ~E_NOTICE); 
require_once(dirname(__FILE__)."/include/common.inc.php"); 
if(empty($step)) 
{ 
$step = 1; 
} 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>密码重设工具_GBK</title> 
<style type="text/css"> 
<!-- 
body { 
font-family: "MS Serif", "New York", serif; 
font-size: 12px; 
color: #000; 
} 
table { 
border-top-width: 1px; 
border-right-width: 1px; 
border-left-width: 1px; 
border-top-style: dotted; 
border-right-style: dotted; 
border-left-style: dotted; 
border-top-color: #CCC; 
border-right-color: #CCC; 
border-left-color: #CCC; 
} 
td { 
border-bottom-width: 1px; 
border-bottom-style: dotted; 
border-bottom-color: #CCC; 
} 
--> 
</style> 
</head> 
<body> 
<?php 
if($step==1) 
{ 
$dsql->SetQuery("Select * From `moban_admin` where usertype='10'"); 
$dsql->Execute("ut"); 
?> 
<table width="98%" border="0" align="center" cellpadding="3" cellspacing="1"> 
<tr> 
<td height="19" bgcolor="#E7E7E7"><table width="96%" border="0" cellspacing="1" cellpadding="1"> 
<tr> 
<td width="24%"><b><strong>第一步:选择管理员账号</strong></b></td> 
<td width="76%" align="right"> </td> 
</tr> 
</table></td> 
</tr> 
<tr> 
<td height="215" align="center" valign="top" bgcolor="#FFFFFF"><form action="radminpass.php" method="post" name="form1" id="form1"> 
<input type="hidden" name="step" value="2" /> 
<table width="98%" border="0" cellspacing="1" cellpadding="1"> 
<tr> 
<td height="60" colspan="2" align="left">本工具是用于新人忘记管理员密码重设所制作,只需要将radminpass.php文件拷贝到根目录,运行“http://yousite/radminpass.php(yousite为网站域名)”,按照操作执行就可以。<font color="#FF0000">恢复完成后请及时删除文件!</font></td> 
</tr> 
<tr> 
<td width="16%" height="30" align="left">选择超级管理员ID:</td> 
<td width="84%" align="left"> 
<select name='id' style='width:150px'> 
<?php 
while($myrow = $dsql->GetObject("ut")) 
{ 
echo "<option value='".$myrow->id."'>".$myrow->userid."</option>\r\n"; 
} 
?> 
</select> 
</td> 
</tr> 
<tr> 
<td height="60" align="left"> </td> 
<td align="left"><input type="submit" name="Submit" value="下一步>" class="coolbg np" /></td> 
</tr> 
</table> 
</form></td> 
</tr> 
</table> 
<?php 
}elseif($step==2){ 
$row = $dsql->GetOne("Select * From `moban_admin` where id='$id'"); 
?> 
<table width="98%" border="0" align="center" cellpadding="3" cellspacing="1"> 
<tr> 
<td height="19" bgcolor="#E7E7E7"><table width="96%" border="0" cellspacing="1" cellpadding="1"> 
<tr> 
<td width="24%"><b><strong>第二步:修改管理员密码</strong></b></td> 
<td width="76%" align="right"> </td> 
</tr> 
</table></td> 
</tr> 
<tr> 
<td height="215" align="center" valign="top" bgcolor="#FFFFFF"><form action="radminpass.php" method="post" name="form1" id="form1"> 
<input name="step" type="hidden" id="step" value="3" /> 
<input type="hidden" name="id" value="<?php echo $row['id']?>" /> 
<table width="98%" border="0" cellspacing="1" cellpadding="1"> 
<tr> 
<td width="16%" height="30" align="left">用户登录ID:</td> 
<td width="84%" align="left"><?php echo $row['userid']?></td> 
</tr> 
<tr> 
<td height="30" align="left">用户笔名:</td> 
<td align="left"><input name="uname" type="text" id="uname" size="16" value="<?php echo $row['uname']?>" style="width:200px" /> 
 (发布文章后显示责任编辑的名字) </td> 
</tr> 
<tr> 
<td height="30" align="left">用户密码:</td> 
<td align="left"><input name="pwd" type="text" id="pwd" size="16" style="width:200px" /> 
 (留空则不修改,只能用'0-9a-zA-Z.@_-!'以内范围的字符) </td> 
</tr> 
<tr> 
<td height="60" align="left"> </td> 
<td align="left"><input type="submit" name="Submit" value="确定修改 " class="coolbg np" /></td> 
</tr> 
</table> 
</form></td> 
</tr> 
</table> 
<?php 
}elseif($step==3){ 
$pwdm = ''; 
if($pwd!=''){ 
$pwdm = ",pwd='".md5($pwd)."'"; 
$pwd = ",pwd='".substr(md5($pwd),5,20)."'"; 
} 
$query = "Update `moban_admin` set uname='$uname' $pwd where id='$id'"; 
$dsql->ExecuteNoneQuery($query); 
$query = "Update `moban_member` set uname='$uname' $pwdm where mid='$id'"; 
$dsql->ExecuteNoneQuery($query); 
ShowMsg("成功更改帐户!","radminpass.php"); 
} 
?> 
</body> 
</html>

三、保存为radminpass.php,上传到网站根目录运行“http://yousite/radminpass.php(yousite为网站域名)”,按照操作执行就可以。恢复完成后请及时删除这个文件!
201353422496.jpg
打开后就看到上面的框框了,按提示操作就行了。
或者点击附件进行下载,已经包含UTF-8/GBK两个版本的文件。

关注下面的标签,发现更多相似文章