Dede后台验证码不显示解决方法详解(dedecms 5.7)

今天朋友问我他本地与服务器上安装了dedecms5.7无法显示验证码,一般这种情况很少见,一般情况就是服务器设置问题,还有临时目录的权限问题

Dede后台验证码不显示或不正常分三种情况,下面来逐一分析

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

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

Dede后台验证码不显示情况三

通用解决方案---取消后台验证码功能

因为没有验证码 不能进后台 所以修改php文件源代码:

方法一:

打开dede/login.php 找到如下代码

if(($validate==‘‘ || $validate != $svali) && preg_match("/6/",$safe_gdopen)){

ResetVdValue();

ShowMsg(‘验证码不正确!‘,‘login.php‘,0,1000);

exit;

}

第一行替换为   if(false){

好 问题解决 不输验证码后台直接进去

方法二

打开data/safe/inc.safe.config.php

把代码$safe_gdopen = ‘1,2,3,4,5,6,7‘; 中的6,删除即可

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);即可解决

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

Include/data/words/words.txt 文件不存在

解决方案1 拷贝一个进去

2找到代码    ‘word_type‘  => (int)$safe_codetype,   // 1:数字  2:英文   3:单词

换成‘word_type‘  =>1  (或2) 既验证码为数字或英文

Dede后台验证码不显示 全部情况解决

如果原来可以显示后来取消验证码后再设置就无法显示,可以通过覆盖data与include目录试试。

原文: http://www.jb51.net/cms/68157.html

时间: 2024-10-14 08:36:05

Dede后台验证码不显示解决方法详解(dedecms 5.7)的相关文章

dede验证码不显示解决方法

php未开启gd库 一般来说,很少有服务器不开启gd库的,只有个别自己配置的主机环境可能未做过设置. 检查PHP是否开启GD库代码 <?phpif(!function_exists('gd_info')) echo "不支持GD库";elseecho "支持";?> 把以上代码保存到一个php文件中,并上传到空间,然后访问这个新上传的文件,如果显示支持,就说明服务器已开启GD库,如果显示不支持GD库,虚拟主机请联系空间商,个人配置服务器的网友可查阅php

织梦(dedecms)后台删除文章后台还有分页显示解决方法

鸡哥今天在给单位改一个织梦网站的时候发现了一个问题,由于本来的程序有7000多篇文章,鸡哥就直接执行了个sql语句给删除了,但是发现删除之后后台文章的分页还在显示着,错误截图给大家看看 看到没,经过鸡哥百度搜索发现这其实并不是鸡哥的操作问题,而是这本就是织梦5.7的一个bug,下边就给大家写下修复方法很简单: 先找到你的根目录中/dede/content_list.php这个文件打开找到 这段代码,可以直接搜索缓存处理就能找到 把红框中的代码修改为: $arr = $dsql->GetOne(&qu

google无法访问 2014解决方法详解

方法二 寻找可用IP地址 IP地址一:http://74.125.205.147/ 即可访问谷歌 转:http://www.newasp.net/tech/89292.html 以是我个人实测的:配合 Chrome 浏览器.GoaAgent v3.1.8.SwitchySharp.crx.SwitchyOptions.bak 就可以访问google 而且搜索打开的页面很快. google无法访问 2014解决方法详解,布布扣,bubuko.com

关于Centos7 命令不能补全解决方法详解

系统镜像:CentOS-7-x86_64-Minimal-1611 实际情况:在Dell T620塔式服务器上新安装了CentOS 7 Mini版的系统,需要使用Firewall-cmd的功能,但是在tab件补全时,发现tab不能显示命令. 于是通过Google搜索https://www.google.com.hk/  ,后面附链接 解决方法: 1.安装bash-completion.一般bash自带这个自动补齐的功能,但是只能自动补全命令名和文件名.而         为了大道更好的补全效果,

基于Java内存溢出的解决方法详解

一.内存溢出类型 1.java.lang.OutOfMemoryError: PermGen space JVM管理两种类型的内存,堆和非堆.堆是给开发人员用的上面说的就是,是在JVM启动时创建:非堆是留给JVM自己用的,用来存放类的信息的.它和堆不同,运行期内GC不会释放空间.如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,超出了也会导致这块内存的占用过多造成溢出,或者tomcat热部署时侯不会清理前面加载的环境,只会将context

Thinkphp生成的验证码不显示——解决方法

在调用验证码之前加上 ob_clean(); 不显示验证码的代码: public function verify(){ $verify = new \Think\Verify(); $verify->entry(); } 修改为: public function verify(){ ob_clean(); $verify = new \Think\Verify(); $verify->entry(); } 这样的话,保存再刷新一次,验证码就出现了 分析: 1.ob_clean这个函数的作用:

Thinkphp3.2.3验证码无法显示解决方法

方法1  public    function verify(){         ob_clean();//清除BOM信息         $Verify = new \Think\Verify();         $Verify->entry();     } 方法2 <?php   if (isset($_GET['dir'])){ //设置文件目录   $basedir=$_GET['dir'];   }else{   $basedir = '.';   }   $auto = 1;

Python学习之异常重试解决方法详解

本文和大家分享的是在使用python 进行数据抓取中,异常重试相关解决办法,一起来看看吧,希望对大家学习python有所帮助. 在做数据抓取的时候,经常遇到由于网络问题导致的程序保存,先前只是记录了错误内容,并对错误内容进行后期处理. 原先的流程: defcrawl_page(url): pass deflog_error(url): pass url = "" try: crawl_page(url) except: log_error(url) 改进后的流程: attempts =

eclipse建立c语言工程以及成功下载到FPGA芯片过程遇到的各种问题以及解决方法详解

推荐大家预先建立好一个工程目录文件夹,确实挺好用,参考正点原子的pdf教程,如下图所示, 我们eclipse在software文件夹建立一个workspace即可 选择用helloworld模板建立工程,因为这样可以避免一些问题,比如我遇到的,system.h等头文件引用失败等等问题 然后选中bsp工程,BSP?editor界面,勾选,缩减驱动库,使用小的c语言库函数两个复选框,托福算分这样我们的fpga芯片(程序掉电消失)或者epcs(掉电不消失)上才能放得下编译出来的程序 然后编译这个c语言