shopex后台验证码不显示解决方法大全

shopex做的商城后台出现了问题,后台验证码不显示了,登录不进后台怎么办?作为技术支持,对于这个问题一定是要解决的。可是查遍了网上能查到的解决shopex后台验证码不显示的所有方法,能试的都试过了,仍然解决不了,怎么办?度娘不给力没有搜索出有用的信息?用谷歌还得翻墙,麻烦,算了,还是靠自己吧!

通过不断修改测试,发现把备份文件中的某一核心文件替换掉现有网站的同名文件,后台验证码仍然不显示,然而替换成某一新版本的同名文件,后台竟然显示验证码了!非常激动!可是登陆一下,发现并不能进入后台,提示错误信息:Fatal error: Call to undefined method mdl_operator::operator_logs(),这样分析来,新版的验证码没有问题了,但是程序代码修改很大,怎么解决呢?经过研究,终于解决这个大难题了!

过程很复杂,就不说一些废话了,直接放出光的传人自创的shopex验证码不显示解决方法(只此一家,别无分店):

1、找到并打开core/admin/controller/ctl.passport.php文件;

2、查看代码中是否有以下代码:

1
2
3
4
5
6
7
8
9
    function verifycode(){
        header("Cache-Control: no-cache, no-store, must-revalidate"); // 强制更新
        header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
        header("Pragma: no-cache");
        $oVerifyCode = &$this->system->loadmodel('utility/vcode');
        $_SESSION["RANDOM_CODE"] = $oVerifyCode->init(4);
        $this->system->__session_close(1);
        $oVerifyCode->output();
    }

3、如果有,说明就是这段代码的问题,修改成以下代码就可以了:

1
2
3
4
5
6
7
8
  function verifycode(){
        ob_clean();
         
        $oVerifyCode = &$this->system->loadmodel('utility/vcode');
        $_SESSION["RANDOM_CODE"] = $oVerifyCode->init(4);
        $this->system->__session_close(1);
        $oVerifyCode->output();
    }

4、修改保存后,再看一下shopex后台验证码是不是显示出来了?登陆后台试试,惊喜来了!

仔细分析这个解决方法,推测出现原因是不是跟shopex官方修复漏洞有关?不好说~

通过解决此问题,发现遇到shopex后台验证码不显示问题的童鞋还真的不少,但是网上却鲜有好用的解决方法。本方法虽然对我这次遇到的问题有用处,但是并不一定能解决所有验证码不显示的问题。下面总结一下其他可能解决shopex验证码不显示问题的解决方法:

1、关闭系统缓存:打开网站根目录\config文件夹里的config.php,找到 define ('WITHOUT_CACHE',false); 把false改成true即可;

2、删除缓存文件:ftp登录空间管理(服务器远程管理)按照路径访问网站根目录\home\cache,里面有admin_tmpl(后台缓存)和front_tmpl(前台缓存)两个文件夹,删除掉这俩文件夹内的所有文件即可;

3、如果进入不了后台管理,就登陆FTP或者在线文件管理进入到SHOPEX程序目录(本例在程序在SHOPEX目录)里面的HOME/cache/,删掉缓存文件cachedata.php

4、通过“shopex验证码绕过漏洞怎样修复”这篇文章,了解到验证码问题与core/admin/controller/ctl.passport.php这个文件有关。如果没有修复这个问题的,说明你的shopex版本就太老了。

5、通过修改数据库关闭shopex后台验证码:修改数据库中的sdb_settings,"admin_verycode";s:5:"false";为后台验证码关闭状态,"admin_verycode";s:4:"true";为开启状态。(注:光的传人觉得此方法不管用,上次记得解决“ShopEX后台登录超时”时后台验证码已经被我关闭,这次后台出现验证码不显示问题,数据库依然是关闭状态,修改成开启、关闭都不能解决。但是不代表都没有作用,可以一试)


版权声明:本文来源于互联网,如有侵权,请联系下方邮箱,一个工作日删除!