织梦DEDECMS验证码不显示的完美解决方法

今天刚把网站从虚拟空间换到了朋友的服务器上,速度那没话说!可是在配置好所有的数据后,后台登录和前台注册的验证码全部显示不了了,网上搜寻了各种方法 ,更改php配置文件、去掉验证码功能,包括重新装程序,都无果!

因为所有文件都是从原来ftp直接复制过来的,之前没有任何问题,想想也不可能是文件出错,突然想起来改过common.inc.php这个文件,而且现在的服务器没装编辑器,直接用记事本打开的,想想是不是编码的问题,果然不出所料。完美解决!

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

问题一:首先先确定php配置环境没问题,如果一个服务器有的网站显示验证码有的不显示,可以排除运行环境的问题;出现这种情况有可能是:可能是php中GB库没有开启。
解决方法:打开php.ini找到extension=php_gd2.dll去掉前面的#;然后重启服务。
下个探针或者用<?php phpinfo() ?>看下是否开启GB库;

问题二:如果网站编码是utf-8的,有可能是bom头的问题,GBK编码的网站不会出现这种情况。
解决方法:使用非windows自带文本编辑器,推荐emeditor,打开下面三个文件,common.php,vdimgck.php和data/safe/inc_safe_config.php文件,然后找到右下角,如果是带签名的话,保存为不带签名的;检查也可以批量去掉下BOM头;

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

问题四:验证码输入正确但是登陆不进去
解决方法:删除data/session下的所有session文件记录,然后刷新页面重新登陆

问题五:上面的方法都试了不行 只能去掉验证码
解决方法:
方法1:找到/data/safe/inc_safe_config.php 去掉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” onclick=”this.src=this.src+’?'” />
</li>

本站部分素材资源及板块内容来自网络,如有侵犯您的权益,请联系我们,站长会立即处理,转载请注明来源网址!
云部落资源网 » 织梦DEDECMS验证码不显示的完美解决方法