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,覆盖你网站现有的即可,相对完美。
标签:
dedecms
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!