织梦dedecms后台验证码不显示或不正常解决方法

2019-10-2107:20:01网站建设与开发Comments2,951 views字数 1991阅读模式

关于织梦后台验证码的问题多次被提及到,例如:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

1、后台验证码不显示:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

织梦dedecms后台验证码不显示或不正常解决方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

2、后台验证空白,只显示背景不显示字母文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

织梦dedecms后台验证码不显示或不正常解决方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

3、后台验证码一直固定某个字符不变动,验证码显示异常文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

织梦dedecms后台验证码不显示或不正常解决方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

上面这3中情况361源码被问及很多次,尤其是第一和第二中情形,下面361源码小编就这几个问题详细和大家讲解下如何处理。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

第一种情况:Dede后台验证码图片不显示

解决方法:验证码需要GD库,请检查你的环境是否开启GD库。出现这样的情况,很大可能是你的空间或者服务器没有开启GD库。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

第二种情况:Dede后台验证码只显示背景不显示字母

解决方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

验证码只显示背景,不显示字母,打开验证码生成文件:Include/文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

找到文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

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()函数没有成功的执行导致了验证码只显示背景,不显示字母,具体原因为字体文件路径不对。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

解决方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

(1)确认include/data/fonts/ 里面存在字体文件,默认为文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

(2)在for($i=0;$i<$rndcodelen;$i++) 上一行加上如下代码:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

$font_file= str_replace("\\","/",$font_file);文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

即把字体文件路径中反斜杠替换成斜杠,因为我们知道反斜杠有转译字符的功能,$font_file 路经大体为“盘符:\appserv\www”系统错误的把反斜杠当作转义用了,导致$font_file也就不是一个路径了,所以Imagettftext()函数总是返回错误。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

加上$font_file= str_replace("\\","/",$font_file);即可解决。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

第三种情况:Dede后台验证码显示异常

Include/data/words/文件不存在。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

解决方案文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

(1)拷贝一个进去。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

(2)找到代码 'word_type' => (int)$safe_codetype, //文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

1:数字文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

2:英文文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

3:单词 换成'word_type' =>1 (或2) 既验证码为数字或英文。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

当然我们还有比较省事的方法来处理,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

一、取消织梦后台登录验证码功能,方法如下:

打开dede/,找到如下代码:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

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

第一行替换为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

if(false){

简单来说,也就是:打开dede目录下的 找到:if($validate==” || $validate != $svali)替换为:if( false )文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

然后,在模板dede/templets/里去掉以下验证码的具体HTML代码:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

<li><span>验证码:</span>
<input name=”validate” type=”text” id=”vdcode” style=’width:50px;text-transform:uppercase;’ />
<img id=”vdimgck” src=”../include/” alt=”看不清?点击更换”
 align=”absmiddle” style=”cursor:pointer” onclick=”’?'” />
</li>

保存。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

到这里就实现了后台登录不需要输入验证码了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

还一种简便的方法:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

第二种:去掉织梦后台验证码的方法

去掉及验证码有效方法:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

打开 这个文件,这是个配置文件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

比如:$safe_gdopen = ’1,2,3,5,6,7′; 这个就是系统哪些地方开启验证码。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

因此,如果当我们管理后台想关闭验证码(如果验证码无法正确输入,不支持GB库)的时候,只需要打开 将$safe_gdopen = ’1,2,3,5,6,7′; 中的6,7删除即可,不必去进行繁琐的设置。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

第三种:清除缓存

把data/session目录下除外的其它session文件都删除,然后本地ie浏览器清除缓存。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

第四中:配置服务器

如果你是独立的服务器,可以去中搜索extension=,把它前面的;号去掉,重启IIS或者apache。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

如果你是租用的空间,那么可以找空间商,让他帮你开启。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/16858.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/cms/16858.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定