当前位置: 首页 > article >正文

dede后台验证码错误或不显示的解决办法

用v56之前版权include/vdimgck.php覆盖现在的文件,测试可行,不过验证码样式就回到以前版本的,喜欢新版的朋友可能会不舒服。

我们打开data/safe/inc_safe_config.php打开头一行

$safe_gdopen = '1,2,3,4,5,6';

修改为

$safe_gdopen = '1,2,3,4,5';

去掉6,即关闭后台验证码选项,测试可行,治标不治本。

下面说说的我的解决办法

出现验证码错误的情况,是更新官方0814的补丁后

检查一下,发现问题出在common.func.php这个文件上面

这是之前老版本的文件,更新说明里也没提到这个文件,可能是官方疏忽多放了导致的。

打开它,注意600行左右两个函数

function GetCkVdValue() {
	@session_start();
	return isset($_SESSION['dd_ckstr']) ? $_SESSION['dd_ckstr'] : ''; } //php某些版本有Bug,不能在同一作用域中同时读session并改注销它,因此调用后需执行本函数function ResetVdValue(){@session_start();$_SESSION['dd_ckstr'] = '';$_SESSION['dd_ckstr_last'] = '';}

并不适用V56版本的新验证码

正确的应该是

function GetCkVdValue() {
	@session_start();
	return isset($_SESSION['securimage_code_value']) ? $_SESSION['securimage_code_value'] : ''; } //php某些版本有Bug,不能在同一作用域中同时读session并改注销它,因此调用后需执行本函数function ResetVdValue(){@session_start();$_SESSION['securimage_code_value'] = '';}

另外,此文件中还缺失一些安全过滤函数。

所以,解决办法是:下载V56GBK最新版本,找到include/common.func.php,覆盖你网站现有的即可,相对完美。

本文链接:https://jinmengqiang.cn/a/202107/26.html


http://www.kler.cn/a/37874.html

相关文章:

  • 深入理解React与闭包的关系
  • 搭建Promethues + grafana +alertManager+blakbox 监控springboot 健康和接口情况
  • 二层、三层交换机是什么?有什么区别?
  • C++【哈希表的完善及封装】
  • 谷歌Bard更新中文支持;GPT-4:1.8万亿参数、混合专家模型揭秘; Meta推出商用版本AI模型
  • 【课程介绍】OpenCV 基础入门教程:图像读取、显示、保存,图像处理和增强(如滤波、边缘检测、图像变换),特征提取和匹配,目标检测和跟踪
  • 【动手学深度学习】--06.暂退法Dropout
  • 1.1数字三角形模型
  • 【雕爷学编程】Arduino动手做(138)---64位WS2812点阵屏模块4
  • 接口测试 使用 rest-assured 进行接口测试
  • 【Ubuntu】linux使用nmcli命令来连接Wi-Fi网络
  • Android系统启动流程分析
  • 京东内部 Spring Boot 全解笔记,精髓!
  • 传输控制协议 TCP
  • 基于高斯混合模型聚类的风电场短期功率预测方法(Pythonmatlab代码实现)
  • docker和k8s的学习介绍
  • CS 144 Lab Zero
  • 【Linux指令集】---ls指令(超详细)
  • SpringBoot【原理分析、YAML文件、SpringBoot注册web组件】(二)-全面详解(学习总结---从入门到深化)
  • 吴恩达机器学习2022-Jupyter特征缩放