Fork me on GitHub

解决织梦dede验证码不显示不正确方法

相信很多朋友在使用织梦cms建站的时候一定遇到过后台验证码不显示的情况,出现这样的问题真的很让人纠结,如何解决dedecms验证码不显示呢?近期小编仔细研究了一下并根据网上的各个版本总结下面几种解决方法:

问题一:首先先确定php配置环境没问题,如果一个服务器有的网站显示验证码有的不显示,可以排除运行环境的问题;出现这种情况有可能是:可能是php中GB库没有开启。

解决方法:打开php.ini找到extension=php_gd2.dll去掉前面的#;然后重启服务。
下个探针或者用<?php phpinfo() ?>看下是否开启GB库;

问题二:如果网站编码是utf-8的,有可能是bom头的问题,GBK编码的网站不会出现这种情况。

解决方法:使用非windows自带文本编辑器,推荐emeditor,打开下面三个文件,common.phpvdimgck.phpdata/safe/inc_safe_config.php文件,然后找到右下角,如果是带签名的话,保存为不带签名的;检查也可以批量去掉下BOM头;

问题三:文件丢失 或者 权限不够

解决方法:织梦5.6,5.7的话,看下Include/vdimgck.phpInclude/data/words/words.txt这个两个文件是否丢失,看是否是写入权限,common.phpdata/safe/inc_safe_config.php权限。

问题四:验证码输入正确但是登陆不进去

解决方法:删除data/session下的所有session文件记录,然后刷新页面重新登陆

问题五:上面的方法都试了不行 只能去掉验证码

解决方法:

方法1:找到/data/safe/inc_safe_config.php,把代码$safe_gdopen = '1,2,3,4,5,6,7'; ,中的6,删除即可,6控制后台登陆验证码,7控制自定义表单提交验证码;

方法2:打开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文件 去掉下面代码

<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>
posted @ 2019-12-21 08:00  较瘦  阅读(270)  评论(0编辑  收藏  举报
知识点文章整理