织梦dedecms使用Mysql8.0无法登录后台的解决办法

softyun3年前cms教程53


织梦dedecms使用Mysql8.0无法登录后台的解决办法
今天一个客户联系我们的技术,反馈说安装之后,但是登录后台,一直提示用户名不存在。通常这个原因有两个 1、数据库链接信息不对  2、数据库表中的用户名不是默认的admin,被修改过经过多发查证,这两个原因都被排除了,最后发现原来这位客户用的是mysql8.0的数据库。

因mysql 8.0新制定的语句表名限制条件被dede自带的后台用户登录检查语句指定表别名所违背而引起的bug。如何解决呢
 
找到dedecms的文件目录, 在include子目录下找到userlogin.class.php, 249行左右看到如下语句:

<span style="font-family:tahoma,geneva,sans-serif;"><span style="font-size:14px;">1 
//只允许用户名和密码用0-9,a-z,A-Z,'@','_','.','-'这些字符 
$this->userName = preg_replace("/[^0-9a-zA-Z_@!\.-]/", '', $username); 
$this->userPwd = preg_replace("/[^0-9a-zA-Z_@!\.-]/", '', $userpwd); 
$pwd = substr(md5($this->userPwd), 5, 20); 
  
$dsql->SetQuery("SELECT admin.*,atype.purviews FROM `dede_admin` admin LEFT JOIN `dede_admintype` atype ON atype.rank=admin.usertype WHERE admin.userid LIKE '".$this->userName."' LIMIT 0,1"); 
$dsql->Execute(); 
$row = $dsql->GetObject(); 
</span></span> 
 其中SetQuery就是设定将要执行的sql语句, 下一行Execute()来执行这个设定好语句,我们从语句里面改。改成如下:

<span style="font-family:tahoma,geneva,sans-serif;"><span style="font-size:14px;">1 
//只允许用户名和密码用0-9,a-z,A-Z,'@','_','.','-'这些字符 
$this->userName = preg_replace("/[^0-9a-zA-Z_@!\.-]/", '', $username); 
$this->userPwd = preg_replace("/[^0-9a-zA-Z_@!\.-]/", '', $userpwd); 
$pwd = substr(md5($this->userPwd), 5, 20); 
  
$dsql->SetQuery("SELECT admi.*,atype.purviews FROM `dede_admin` admi LEFT JOIN `dede_admintype` atype ON atype.rank=admi.usertype WHERE admi.userid LIKE '".$this->userName."' LIMIT 0,1"); 
$dsql->Execute(); 
$row = $dsql->GetObject(); 
</span></span> 
以上内容仅供大家学习参考。希望可以帮助到你。


标签: dedecms
免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

dedecms如何转易优cms?织梦cms转eyoucms内核教程

dedecms如何转易优cms?织梦dedecms程序转到易优eyoucms内核程序的。小编没用过易优EYouCMS,但是看到说这款CMS和织梦是最为接近的,甚至主题都是可以直接使用的。不过我们也需要...

DedeCMS系统开始授权收费了!模板建站行业或成为历史!

dedecms系统开始收费了!原本可随便下载到的dedecms程序无法再免费用于企业建站了,dedecms低成本的企业建站将终结了。对于尚未获得授权的商用站点,请于2023年10月25日24时前购买相...

织梦DedeCMS网站服务器搬家迁移数据详细教程

dedecms网站服务器如何迁移搬家?网站在运行的过程中,难免会遇到各种各样的问题,有时候会需要更换空间或服务器,这样,完整的把网站数据转移到新的空间上,就是织梦cms站长必须掌握的技能之一。随着织梦...

dedecms在首页调用会员信息(会员头像和名字等)

dedecms在首页调用会员信息 会员头像和名字等可以通过以下sql语句实现 需要调用其他字段可随意扩展:<span style="font-size:14px;"><span st...

织梦dedecms文章被评论后发短消息给作者的方法

织梦dedecms文章被评论后发短消息给作者的方法DedeCMS文章被别人评论后系统短消息通知作者的代码成功,现在特别将方法分享给大家,需要修改的文件是:/plus/feedback.php,小编教你...

织梦导航不显示外部链接栏目,修改channelartlist标签方法

织梦导航不显示外部链接栏目,修改channelartlist标签方法在文件 include/taglib/channelartlist.lib.php第67行左右, 查找:<span style...