织梦CMS后台验证码无法显示的3种情况及解决方法详解
随着互联网的快速发展,站长已经成为互联网上的新兴人群。其中DreamWeaver是构建网站最常用的CMS。随着人数的增加,使用DreamWeaver CMS时遇到的问题也越来越多。 ,最棘手的问题是验证码无法显示,导致无法登录后台。如果连后台都登录不了,还谈什么操作?这也成为了很多新手站长的担忧。

对于使用dedecms系统的站长来说,图片是不显示的。这应该是很多站长朋友遇到最久的问题了。本地测试明明是好的,但是为什么上传到空间或者服务器上就无法显示验证码呢? ,我们应该如何解决这个问题呢?
一、DreamWeaver后台不显示验证码的三种情况及分析
一般来说,Dede后台验证码不显示或异常有三种情况。下面,马海翔就来一一分析:
dede后台验证码不显示情况1
dede后台验证码不显示情况2
dede后台验证码不显示情况3
针对以上三种常见情况,马海翔首先和大家进行针对性分析,并补充解决方案:
dede后台验证码不显示情况一分析:验证码图片不显示
验证码需要GD库。请检查您的环境中是否启用了GD库。
dede后台验证码不显示情况2分析:只显示背景但不显示字母
验证码只显示背景,不显示字母,这就需要我们打开验证码生成文件:include/vdimgck.php
到场
为($i=0;$i
$bc = mt_rand(0, 1);
$rndstring[$i] = strtoupper($rndstring[$i]);
$c_fontColor = $fontColor[mt_rand(0,4)];
$y_pos = $i==0 ? 4:$i*($font_size+2);
$c = mt_rand(0, 15);
@imagettftext($im, $font_size, $c, $y_pos, 19, $c_fontColor, $font_file, $rndstring[$i]);
$lastc = $rndstring[$i];
Imagettftext()函数执行不成功,导致验证码只显示背景,不显示字母。具体原因是字体文件路径不正确。
解决方案:
(1)确认include/data/fonts/中存在字体文件,默认为ggbi.ttf
(2)、在 for($i=0;$i
$font_file= str_replace("\\","/",$font_file);
即将字体文件路径中的反斜杠替换为斜杠,因为我们知道反斜杠具有翻译字符的功能。 $font_file 的路径大致为“驱动器盘符:\appserv\www”。系统错误地将反斜杠视为如果使用转义,$font_file 不再是路径,因此 Imagetftext() 函数总是返回错误。
添加 $font_file= str_replace("\\","/",$font_file);来解决问题。
dede后台验证码不显示情况三分析:验证码显示异常
Include/data/words/words.txt 文件不存在。
解决方案:
(1).复制一份进去。
(2)。找到代码 'word_type' => (int)$safe_codetype, //
1:数量
2:英语
3:将word改为'word_type'=>1(或2),表示验证码为数字或英文。
2、Dreamweaver后端无法显示验证码问题解决方案汇总
一般来说,验证码错误的解决办法可以分为两类思路:
第一类:取消验证码,直接登录。
类别2:修复验证码、回复验证码功能。
在这里,马海翔给大家分享一下基于这两种思路的常见处理方法:
方法一:取消后台验证码功能
因为没有验证码,我们无法进入后台,所以我们可以直接修改php文件源码:
打开dede/login.php,找到以下代码:
if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){
ResetVdValue();
ShowMsg('验证码不正确!','login.php',0,1000);
出口;
将第一行替换为: if(false){
简单来说,就是:打开dede目录下的login.php,找到:if($validate==” || $validate != $svali),替换为:if( false )
然后,删除模板dede/templets/login.htm中验证码的以下具体HTML代码:
验证码:
好了,问题解决了,直接进入后台,验证码不丢失。
二:去除验证码的解决方案
有人说GD库没有打开,有人说dede/login.php文件要改,还有一个login.html文件。
这些方法都失败了,所以唯一的解决办法就是去掉验证码。
去除DEDECMS5.6和dedecms5.7验证码的有效方法:
在【验证码安全设置】中说修改保存实际上是修改了datasafeinc_safe_config.php文件,该文件是一个配置文件。
例如:$safe_gdopen = '1,2,3,5,6,7';这里是系统中启用验证码的地方,与【验证码安全设置】界面是一一对应的关系。
因此,如果我们想在管理后台关闭验证码(如果无法正确输入验证码且不支持GB库),只需要打开datasafeinc_safe_config.php,设置$safe_gdopen = '1,2 ,3,5,6,7′;只需删除 ; 中的 6 和 7无需进行繁琐的设置。
第三种:修复验证码功能
使用ftp进入你的dedecms程序空间,删除data/session目录下除index.htm之外的所有session文件,然后清除本地IE浏览器的缓存。
重新进入dedecms后台,登录主页就正常了。
另外,还需要检查杀毒软件Mcafee是否屏蔽了网站文件夹的读写权限(如果对网站文件不熟悉,可以查看马海翔博客《织梦模板(dedecms)》上的相关介绍)功能模块模板路径对应表》)。
php.ini 中的 Session.cookie_path 必须设置为“/”。不要随意更改此设置。如果改了的话,验证码就会出现问题。
第四种方法:重新启动IIS或服务器
如果你是独立服务器,可以自己操作,那么你可以在php.ini中搜索extension=php_gd2.dll,去掉;在它前面登录,并重新启动其他服务器,例如IIS或apache。
如果您租用空间,您可以要求空间提供商帮助您打开空间。
马海翔博客评论:
面对网站出现的问题,我们要学会冷静处理。我们首先要分析网站上的问题属于什么类别,然后根据具体问题寻找解决方案。只有在处理问题时认真、多角度地思考和分析,我们的网站才能更加健康。