提供zblog模板_zblog主题_wordpress模板的下载和定制

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

天兴工作室 2025-03-01 20:29 zblogphp教程 321 0 评论


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

问题描述:

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

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

问题排查:

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

1.png

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

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

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

问题定位:

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

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

问题原因:

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

所以就导致了这个问题。

解决方案:

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

2.png

总结:

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


没有找到能解决你问题的教程?

您可以试着搜索一下或者直接在线提问。我们也提供收费技术支持,有需要可以在线联系我们。

在线提问 在线客服

欢迎 发表评论: 取消回复

请填写验证码
  • 最新文章
  • 热文排行
  • 最多评论
标签聚合