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

softyun3年前cms教程132


织梦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整站迁移转换WordPress系统 WordPress免费开源CMS

织梦dedecms整站迁移转换WordPress系统怎么办?织梦dedecms是很多站长使用的国产CMS系统之一,近日织梦官方发表通知称商业用户需要购买授权费才能使用,费用为5800元/年,所以商用的...

dedecms 首页arclist按照'weight'排序

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

织梦DedeCMS获取文章链接的函数GetOneArchive使用方法

织梦DedeCMS获取文章链接的函数GetOneArchive使用方法在某自定义的会员页面中调用指定栏目(typeid=’36′)最新文章,前提是这个页面允许直接使用PHP代码,循环中使用GetOne...

织梦转易优eyoucms需要授权吗?价格费用多少钱?基础版188元

易优cms商业授权多少钱?易优CMS(eyoucms)是基于TP5.0框架为核心开发的免费+开源的企业内容管理系统、专注企业建站用户需求,提供海量各行业模板、降低中小企业网站建设、网络营销成本、致力于...

织梦dedecms在模板页面中实现会员登录退出状态显示

织梦dedecms在模板页面中实现会员登录退出状态显示很多会员朋友在制作带会员中心的模板文件时候,当我们点击登录后,织梦默认是跳转到会员中心的,但在我们返回网站主页时,发现header没有显示会员登录...

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

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