zblog登录后台一直提示验证码错误的原因和解决方法

admin8小时前cms教程8

如果你也遇到了zblog后台登录一直提示验证码错误,而且你的网站同时也开启了cdn的话,那么大概率跟本文所述问题一样,如果没有这两个条件,可以跳过本文不用看了去寻求其他解决方案。

问题描述:

今天遇到一个客户反馈说他的zblog网站后台登录会一直提示“验证码错误”导致无法登录后台,尽管多次尝试并且保证验证码输入的是正确的情况下还是会提示“验证码错误”。

于是我打开了他的网站测试确实是这么个问题,开始排查。

问题排查:

定位到zblog的验证码验证函数“CheckValidCode”,函数如下图:

ScreenShot_2026-08-11_074546_194.jpg

函数大概逻辑就是获取到用户提交的验证码,然后和验证码生成时保存的一个cookie通过一系列加密解密后比对。两个值比对一致就通过,否则就提示验证码错误。

直接打印比对的两个值,发现两个值确实不一致。

于是开始把两个值里面组成的变量一个一个打印出来对比。

问题定位:

通过以上步骤终于确定了问题所在,“hash_pre”这个参数里面有一个获取用户提交时的ip地址“GetGuestIP()”,这个值一直在变动,按道理这个值是固定的,因为用户电脑的ip地址在提交这段时间内肯定是一样的。

基本可以确定就是这里的问题,去掉了这个值之后测试正常。

问题原因:

在跟客户沟通时确定用户网站开启了CDN,而当你为网站启用了 CDN(内容分发网络)后,用户访问网站时,请求会先经过 CDN 节点,然后再转发到你的服务器。由于 CDN 节点的 IP 地址可能会动态变化,因此你直接获取到的 IP 地址通常是 CDN 节点的 IP,而不是用户的实际 IP 地址。

所以就导致了这个问题。

解决方案:

打开zblog后台,打开网站设置-全局设置-安全增强,关掉这个开关即可

ScreenShot_2026-08-11_074546_194.jpg

总结:

当你网站开启了cdn,请务必关闭网站设置里面的安全增强功能,否则就会因为获取不到用户的真实ip导致登录不上后台一直提示验证码错误了。

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

zblog报错:Undefined index: ZC SIDEBAR6 ORDER的原因和解决办法

zblog报错:Undefined index: ZC SIDEBAR6 ORDER的原因和解决办法

今天遇到了一个用户网站打开报错提示“Undefined index: ZC SIDEBAR6 ORDER”,具体报错页面如下图:询问客户后得知是在后台升级最新的zblogphp1.6之后出现的这个问题...

zblogphp模板判断首页、列表页、内容页、单页、搜索页、tag页的代码

这是一个在制作zblog模板时经常需要用到的代码,用来判断哪个页面然后调用对应的代码。最基本的示例应该就是友情链接了,一般都只需要在网站的首页出现友情链接模块,其他页面不需要出现。这个时候就要用到这些...

zblog安装提示“创建c_option.php失败”的原因和解决办法

zblog安装提示“创建c_option.php失败”的原因和解决办法

有zblog用户反应在安装zblog的最后一步时提示“创建c_option.php失败”,如下图:本文来说明下这个问题的原因和解决办法。问题产生的原因:c_option.php是zblog的数据库配置...

zblog提示“权限不足,请联系网站管理员!”的解决办法

zblog提示“权限不足,请联系网站管理员!”的解决办法

有的zblog用户在发布文章的时候会提示“权限不足,请联系网站管理员!”,出现这个提示的原因是因为使用了唐朝的“百搭会员中心”插件,而这个插件有一个bug一直没用更新导致的。...

zblog模板开发教程:zblog标签调用大全

既然是zblog模板的开发,第一首先就是要了解下zblog标签的调用和模板文件作用和组成,其实这些东西在zblog的官方wiki里面都可以找到。但还是转载过来,方便系统的阅读和理解。注意:本篇文章介绍...

zblogphp调用网站的全部栏目分类的名称、链接等代码

我们在用zblogphp的时候,需要调用网站的全部分类名称或者链接啥的,对于这个需求zblogphp内置了三个函数。第一个函数是“$zbp->GetCategoryList”,这个函数可以自定义...