Dede后台验证码不显示解决方法详解(dedecms 5.7 UTF-8版本)
织梦(dede)后台验证码不显示有多种可能性,我前几天测试就碰到了这个问题,结果百度搜索了一圈,挨个修改了下,还是不行,最后是在解决另外一个后台上传图片不成功的问题的时候,歪打正着的把验证码问题给解决了,下面总结下:
原因:在修改文件的过程中,可能因为文本编辑软件的问题,造成php等文本文件带上DOM,最常见的就是使用window自带的记事本软件来编辑文件,记事本软件会在文件保存的时候自动为文件加上BOM。
解决方案:写了个自动去除文件DOM的php文件,下载解压后放在网站根目录下执行以下此文件即可。
再附一个网上较为常见的验证码不显示的解决文章,方便大家一起看下:
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目录试试。
Dede后台验证码不显示解决方法详解(dedecms 5.7 UTF-8版本)的更多相关文章
- Dede后台验证码不显示解决方法详解(dedecms 5.7)
今天朋友问我他本地与服务器上安装了dedecms5.7无法显示验证码,一般这种情况很少见,一般情况就是服务器设置问题,还有临时目录的权限问题 Dede后台验证码不显示或不正常分三种情况,下面来逐一分析 ...
- python中验证码连通域分割的方法详解
python中验证码连通域分割的方法详解 这篇文章主要给大家介绍了关于python中验证码连通域分割的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需 ...
- Dede织梦验证码不显示,织梦后台登陆验证码不显示解决方法
关于"织梦验证码不显示"的解决方法 "织梦验证码无法显示出来"的问题分析? 1.之前显示正常,但是换了服务器后就不能够正常显示:(这种通常是网站程序经过迁移后所 ...
- 关于Quartus构建nios软核以及eclipse建立c语言工程以及成功下载到FPGA芯片过程遇到的各种问题以及解决方法详解
这不是一篇构建nios的教程,而是遇到的各种问题以及解决方法.至于构建教程,网上一大把,我推荐正点原子的FPGA教程,比较新,比较详细,通俗易懂!!! 这里以一个点亮LED灯的Nios软核为例,很明显 ...
- dede后台删除文章后台还有分页显示解决方法
打开dede目录中content_list.php 大概在100行左右 $sql = "SELECT COUNT(*) AS dd FROM `#@__arctiny` $tinyQuery ...
- Thinkphp生成的验证码不显示——解决方法
在调用验证码之前加上 ob_clean(); 不显示验证码的代码: public function verify(){ $verify = new \Think\Verify(); $verify-& ...
- Linux如何让进程在后台运行的三种方法详解
问题分析: 我们知道,当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程.因此,我们的解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运 ...
- jquery .post .get中文参数乱码解决方法详解
jquery默认的编码为utf-8,做项目时有时处于项目需要用到ajax提交中文参数,乱码问题就很头疼了,折腾了许久终于弄出来了.为了便于传输,我们首先将需要用到的参数用javascript自带的函数 ...
- eclipse建立c语言工程以及成功下载到FPGA芯片过程遇到的各种问题以及解决方法详解
推荐大家预先建立好一个工程目录文件夹,确实挺好用,参考正点原子的pdf教程,如下图所示, 我们eclipse在software文件夹建立一个workspace即可 选择用helloworld模板建立工 ...
随机推荐
- 【时空大数据】Access 到 Postgres 数据迁移遇到的ODBC坑----驱动程序和应用程序之间的体系结构不匹配
1.安装Postgres10 2.安装Postgis插件 3.创建数据库 4.执行postgis脚本插件:参考https://www.cnblogs.com/defineconst/p/1064853 ...
- log4j2 配置文件解读
1.日志相关介绍 日志接口(slf4j):slf4j是对所有日志框架制定的一种规范.标准.接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具体的日志框架实现配合使用,比如log4j.l ...
- ssh配置连接远程主机 彻底解放你的双手
查看ssh支持配置 man ssh_config 打开ssh并配置 vi ~/.ssh/config 基本配置示例说明 密钥文件连接 Host <别名> Port <机器端口号> ...
- 10-网页,网站,微信公众号基础入门(使用微信自带配置选项实现Airkiss配网)
https://www.cnblogs.com/yangfengwu/p/11066036.html 如果提交失败多提交两次,只要上一节可以,,这一节一定可以的 如果没有设备 这个是我的二维码 咱就测 ...
- luogu P1550 [USACO08OCT]打井Watering Hole
题目背景 John的农场缺水了!!! 题目描述 Farmer John has decided to bring water to his N (1 <= N <= 300) pastur ...
- paython基础-格式化输出
目录 %s %r %d 及其他%... formate f"{变量}" 详细查找:https://docs.python.org/3/library/string.html#for ...
- mysql课外积累
where 与 on 的区别 : ON:针对关联表进行条件筛选,不会影响结果集的数量和主表数据. WHERE:针对结果集进行条件筛选,会影响结果集的数量. LIKE声明中的%和_是什么意思? --%对 ...
- ARC096 E Everything on It [容斥,斯特林数]
Atcoder 一个900分的题耗了我这么久--而且官方题解还那么短--必须纪念一下-- 思路 发现每种元素必须出现两次以上的限制极为恶心,所以容斥,枚举出现0/1次的元素个数分别有几个.设出现1次的 ...
- 重置GPU显存 Reset GPU memory after CUDA errors
Sometimes CUDA program crashed during execution, before memory was flushed. As a result, device memo ...
- Java8中HashMap扩容算法小计
Java8的HashMap扩容过程主要就是集中在resize()方法中 final Node<K,V>[] resize() { // ...省略不重要的 } 其中,当HashMap扩容完 ...