DEDECMS,验证码不能显示的原因,解决办法,织梦,后台无法登陆,提示“验证码不正确”,整合,精华篇

DEDECMS,验证码不能显示的原因,解决办法,织梦,后台无法登陆,提示“验证码不正确”

原因及分析
①dede版本程序升级操作不正确造成验证码提示不正确
②更好空间新的空间里pho.ini里gd库配置问题
③网站空间满了
④专对5.7版本转移data目录引起的(此种请查看:如何将dede织梦data目录正确迁移及引起的问题解决方法)
⑤程序内/data/session目录权限设置问题
⑥清除浏览器的cookies,重启浏览器;
⑦网速不行,换个时间,等网速快了再试!
⑧网站程序出错,重新上传安装;
⑨密码有问题
⑩验证码明明正确的,却提示验证码不正确

问题对应的解决方法
①、
修复
功能地图
文件验证
效对本地文件==> 
再根据提示做就行了.

②、修复验证码功能,设置服务器的php.ini:
打开php.ini 文件找到
;session.save_path = “/tmp” 改写成session.cookie_path = /
把extension=php_gd2.dll;将他前面的分号;去掉。

③、检查空间是不是满了,测试的方法是上传一个文件到FTP空间里,看是否能传得上去。

④、如果是5.7版本的转移data目录引起的。
请改一下/include/vdimgck.php这个文件 这个文件里也调用了DATA里的文件也可以改路径,把带有这个 /../data 改成你现在的路径。

修改include文件夹的vdimgck.php文件修改以下段落,
//Session保存路径
$sessSavePath = dirname(__FILE__).”/../data/sessions/”;
修改为//$sessSavePath = dirname(__FILE__).”/../data/sessions/”;
修改后,时管用时不管用,改回来也是这样的情况。如果把DEDE后台路径修改默认的DEDE文件夹,就不会出现验证码错误的情况。

⑤、去服务器,看session是否有写入权限,如果没有的话,Windows Server的话,给”internet来宾账户”添加写入权限,Linux的话,目录权限设置为”777″。

⑥、清空了一下IE浏览器或其它的上网浏览器的cookies和临时文件夹,可能就行了。

⑦、这个,怎么说呢?要解释吗?不要吧!F5,F5,F5

⑧、重新上传安装;重新上传安装;重新上传安装;重新上传安装;
将您的css及图片文件,模板文件,upload文件夹转移过来。最后还原数据库。

⑨、密码明明正确的,却无法登陆后台管理
解答:
不管是新人,还是高手,都需要注意:用户名和密码只能由 [a-z A-Z – _ @ .] 这些字符组成,不能是中文或其它的符号。

⑩、
一)
验证码明明正确的,却提示验证码不正确,导致无法登陆后台。
解答:有时是IE的问题,清空了一下cookies和临时文件夹,可能就行了。

二)
通过FTP,登陆进入网站源文件的目录
进入data/session目录,将这个目录下的除index.htm外的其它session文件全部删除掉。
然后再把本地IE浏览器的缓存清理了干净。

三)
进入后台,在[验证码安全设置]里,进行验证码出现频率的修改。
事实上修改后的设置保存在data\safe\inc_safe_config.php 这个文件中,
所以如果进不了后台,可以通过FTP,登陆进入网站源文件的目录
直接修改这个配置文件。 
找到这行
$safe_gdopen = ‘1,2,3,5,6,7’;
这行代码的意思是让系统在哪些地方开启验证码验证的功能。
与[验证码安全设置]界面是一对一的关系。 
所以,如果想让管理后台关闭验证码(如果验证码无法正确输入,不支持GB库)的时候,
只需要打开data\safe\inc_safe_config.php 将$safe_gdopen = ‘1,2,3,5,6,7’; 中的6,7删除即可。

四)
这样改了也不行,还是进不了后台。虽然没了验证码,依然 提示 密码错误。。怎么输入都是提示密码错误?
有人说是没有写入权限,
经测试,事实上识别密码是不需要写入权限的,因此,哈哈,确实是你密码错了,不信的朋友,可以在运行中先输入看看,再复制过去。特别是用本本的朋友。

五)
直接去掉验证码:打开 login.php 找到:
if($validate==” || $validate != $svali)
替换为:
if( false )
然后,在模板dede/templets/login.htm里去掉以下验证码的具体HTML代码:
<li><span>验证码:</span> 
           <input name=”validate” type=”text” id=”vdcode” style=’width:50px;text-transform:uppercase;’ 

class=”text” /> 
           <img id=”vdimgck” src=”../include/vdimgck.php” alt=”看不清?点击更换” align=”absmiddle” 

style=”cursor:pointer” />
</li>

======================================================

dedecms后台验证码显示不正常的处理方法

验证码不正确解决方法 分为两类解决方法
第一类:取消掉验证码,直接登录
第二类:修复验证码,回复验证码功能
第三种:终极解决办法
第四种:只显示背景不显示字母
第五种:GD库的路径不对或文件问题

常见的处理办法如下:Watch movie online The Transporter Refueled (2015)

第一种:取消掉验证码具体方法如下
实现的方法一共分为两步来进行:
打开dede目录下的 login.php 找到:
if($validate==” || $validate != $svali)
替换为:
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>

第二种:修复验证码功能
用ftp进入你的dedecms程序空间,把data/session目录下除index.htm外的其它session文件都删除,然后本地ie浏览器清除缓存。
重新进入dedecms后台登录首页就正常了
还有啊,要检查一下麦咖啡Mcafee有没有阻止了网站文件夹的读写权限
php.ini中session.cookie_path必须设置成”/”,这个不要乱改,改了就是验证码会有问题

第三种:终极解决办法
有人说,GD库没有打开,有人说更改dede/login.php文件,还有什么login.html文件。
这些方法都失败了
所以只有去掉验证码才可以
去掉 DEDECMS5.6及dedecms5.7 验证码有效方法
在[验证码安全设置]里,说修改后的保存实际上是修改了data\safe\inc_safe_config.php 这个文件,这是个配置文件。
比如:$safe_gdopen = ’1,2,3,5,6,7′; 这个就是系统哪些地方开启验证码。与[验证码安全设置]界面是一对一的关系。
所以,如果当我们管理后台想关闭验证码(如果验证码无法正确输入,不支持GB库)的时候,
只需要打开data\safe\inc_safe_config.php 将$safe_gdopen = ’1,2,3,5,6,7′; 中的6,7删除即可。

第四种:只显示背景不显示字母
这种情况验证码只显示背景 不显示字母,解决办法:
打开验证码生成文件 Include/vdimgck.php
找到
for($i=0;$i<$rndcodelen;$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<$rndcodelen;$i++) 上一行 加上如下代码:
$font_file= str_replace(“\\”,”/”,$font_file);
即把字体文件路径中反斜杠替换成斜杠 因为我们知道反斜杠有转译字符的功能,
$font_file 路经大体为 盘符:\appserv\www 系统错误的把反斜杠 当作转义用了
导致$font_file也就不是一个路径了 所以Imagettftext()函数总是返回错误
加上$font_file= str_replace(“\\”,”/”,$font_file);即可解决
======================================================
出现这种情况的具体原因为:字体文件路径不对.

解决方法
1确认include/data/fonts/ 里面存在字体文件 默认为ggbi.ttf
2在for($i=0;$i<$rndcodelen;$i++) 上一行 加上如下代码:
$font_file= str_replace(“\\”,”/”,$font_file);
即把字体文件路径中反斜杠替换成斜杠 因为我们知道反斜杠有转译字符的功能,
$font_file 路经大体为 盘符:\appserv\www 系统错误的把反斜杠 当作转义用了
导致$font_file也就不是一个路径了 所以Imagettftext()函数总是返回错误
加上$font_file= str_replace(“\\”,”/”,$font_file);即可解决
======================================================

Dede后台验证码不显示情况一分析

验证码需要GD库 请检查你的环境是否开启GD库

Dede后台验证码不显示情况二分析

验证码只显示背景 不显示字母

打开验证码生成文件 Include/vdimgck.php

找到

    for($i=0;$i<$rndcodelen;$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<$rndcodelen;$i++) 上一行 加上如下代码:

            $font_file= str_replace(“\\”,”/”,$font_file);

 即把字体文件路径中反斜杠替换成斜杠 因为我们知道反斜杠有转译字符的功能,

$font_file 路经大体为 盘符:\appserv\www 系统错误的把反斜杠 当作转义用了导致$font_file也就不是一个路径了 所以Imagettftext()函数总是返回错误

加上$font_file= str_replace(“\\”,”/”,$font_file);即可解决

注意事项
无论是哪种方法,最好先做好备份,这样就算失败了也可以还原。
自己最好能够精通dedecms代码,对网站后台有所了解。
如果自己实在做不好,最好让专业人员或者是网站空间商协助完成。

转载请注明:大文数码 » DEDECMS,验证码不能显示的原因,解决办法,织梦,后台无法登陆,提示“验证码不正确”,整合,精华篇

Tags: , , , , , , , , ,

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS

Leave a Reply

You must be logged in to post a comment.

文字链