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

softyun3年前cms教程57


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

相关文章

织梦cms批量取消审核文档的实现方法

织梦cms批量取消审核文档的实现方法教你来实现在原来dede文章批量管理的地方 添加一个 “取消审核” : 实现方法: 修改管理目录 默认为dede下的文件:archives_do.php  插入以下...

织梦CMS转换其它CMS程序的方法【CMS通用转换方法】

织梦cms一张公告发出,根据dedecms授权协议,除个人非营利网站外,均需购买dedecms商业使用授权,授权费为人民币5800元。一则通知让开源10年之久的织梦也要开始步入版权收费的模式,这就导致...

最新织梦dedecms转WordPress方法(脚本一键转换)

dedecms开始对网站进行商业授权,织梦cms授权一个域名就要5800元,一般小站长肯定接受不了,用织梦CMS搭建站群的站长就更别说了,没授权的将被起诉,听说通过AI已经完成了取证,这种情况肯定一告...

PHP脚本快速将dedecms一键转换至wordpress程序

dedecms程序目前需要商业授权才可以使用,虽然以前也有类似的版权声明,但是这次应该是认真的。而且发出最后的通告,如果我们不购买商业授权(需要5800元一个站点),那可能遭受类似某拓CMS一样的法律...

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

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

织梦收费后如何迁移wordpress?dedecms转wordpress方法介绍

织梦收费后如何迁移wordpress?织梦dedecms宣布开始收费 ,一年授权费需要5800元。正在使用织梦cms系统的商企用户们,如未购买dedecms的商业使用授权,可能面临侵权赔款的风险。那么...