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

softyun3年前cms教程76


织梦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 首页arclist按照'weight'排序

dedecms 首页arclist按照'weight'排序织梦默认情况下是没有开启weight排序的需要修改arclist.lib.php 1、 在织梦系统中找到以下目录\include\taglib...

织梦dedecms网站授权收费太高想换程序的解决办法

织梦dedecms开源系统官方网站宣布要收费了,授权费5800元。这条消息引起了国内各中小企业站长的热议,在各大站长群刷屏了。织梦cms对所有商用的个人、企业,统一收取5800元的商业授权费。织梦CM...

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

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

DedeCMS 核心类TypeLink.class.php摘要笔记

DedeCMS 核心类TypeLink.class.php摘要笔记注:'//+' 表示为本人另外加上的注释 Class TypeLink { var $typeDir; var $dsql; var...

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

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

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

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