织梦DEDECMS管理后台-登录时不显示验证码的解决方法

主页 > 织梦教程 > 织梦DEDECMS管理后台-登录时不显示验证码的解决方法
织梦dedecms后台验证码图片不显示无法登陆的解决方法
最近遇到客户反馈说模板上传后,登录织梦管理后台时,在登录页面验证码图片不显示。下面分享下织梦后台验证码图片不显示导致无法登陆的解决方法。


验证码需要GD库 首先检查你的环境是否开启GD库,还有啊,要检查一下网站文件夹的读写权限,是不是程序内/data/session目录权限设置问题,php.ini中session.cookie_path必须设置成”/”,然后用ftp进入你的dedecms程序空间,把data/session目录下除index.htm外的其它session文件都删除,然后本地ie浏览器清除缓存。重新进入dedecms后台登录首页就正常了。
 
如果还不能显示验证码,检查是不是common.inc.php文件编码异常导致,有的时候上传空间后直接用FTP里面的编辑器修改数据库配置文件,然后后台登录验证码就不显示了。找个正常的文件替换掉/data/common.inc.php文件,或者直接修改下编码试试。果不其然,就是编码的格式搞错了。

 

Dedecms后台验证码不显示的原因不少,打开目录include/vdimgck.php文件,注销掉//require_once(dirname(__FILE__).’/common.inc.php’); 这行代码。添加以下代码:
 

define(‘DEDEINC’, str_replace(“\\”, ‘/’, dirname(__FILE__) ) );

define(‘DEDEROOT’, str_replace(“\\”, ‘/’, substr(DEDEINC,0,-8) ) );

define(‘DEDEDATA’, DEDEROOT.’/data’);




按照这个方法执行,修改后上传覆盖掉以前的代码。再回到浏览器刷新,既可以看到验证码出现了。


通用解决方案---取消后台验证码功能

因为没有验证码不能进后台 所以修改php文件源代码
方法一:
打开dede/login.php 找到如下代码
 

if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){
        ResetVdValue();
        ShowMsg('验证码不正确!','login.php',0,1000);
        exit;
}


第一行替换为   if(false){

这样就不用再去判断验证码的正确性了。
然后,在模板dede/templets/login.htm里去掉以下验证码的具体HTML代码:
<li><span>验证码:</span>
  <input name=”validate” type=”text” id=”vdcode” style=’width:50px;text-transform:uppercase;’ />
  <img id=”vdimgck” src=”../include/vdimgck.php” alt=”看不清?点击更换” align=”absmiddle” style=”cursor:pointer” onclick=”this.src=this.src+’?'” />
</li>


方法二:
打开data/safe/inc.safe.config.php 把代码$safe_gdopen = '1,2,3,4,5,6,7'; 中的6,删除即可
相关文章