您现在的位置是:首页 > 网站制作 > WordpressWordpress
WordPress会员前台登陆安全验证失败的解决办法
杰帅2023-07-05【Wordpress】人已围观
简介明明用户名和密码正常,就是安全验证失败,简单来说就是无法登陆。如果管理员清空网站缓存的话,又可以正常登陆了。搬主题的一个站点也遇到过这样的情况,后来经过一番测试研究,问题终于解决,下面分享一下解决办法。
不知道有没有人遇到过这样一种情况:自己的WordPress主题带有会员系统,隔一段时间就登录失败,明明用户名和密码正常,就是安全验证失败,简单来说就是无法登陆。如果管理员清空网站缓存的话,又可以正常登陆了。搬主题的一个站点也遇到过这样的情况,后来经过一番测试研究,问题终于解决,下面分享一下解决办法。
问题产生的环境
首先说一下自己一个站点的环境是怎样的,给大家一个参考。
- WordPress:最新的5.9.2
- 架构:OpenLiteSpeed
- 安装的缓存插件:LiteSpeed Cache(同时开启对象缓存LSMCD)
- 安装主题:QUX
大概环境如上,问题表现如下:
- 隔一两天,需要重新登录网站会员系统,然后显示“安全验证失败”,无法登陆。
- 设置缓存时间小于10小时,问题依旧,无法登陆
- 将登陆页面设置禁止缓存,问题依旧,无法登陆
- 清空网站缓存,会员可以正常登陆
- 清空本地浏览器缓存及cookie等,会员可以正常登陆
大概情况就是这样,但是用户没办法登陆的话,不可能每次会自动清理自己的浏览器缓存吧,明明是网站的问题。但是也总不可能每隔一两天进行网站缓存清理吧,这样还要缓存来干嘛。
问题解决办法
说实话,搬主题对于这个问题研究了很久,做过蛮多验证及调试。最终判断有可能存在的问题点在哪里。
之前搬主题一直在针对缓存进行处理,毕竟每次清空缓存后,用户就可以登录了。就判断为WordPress随机数过期问题导致的无法登陆。但是尽管操作过后,问题依然没有解决。
而网上大部分都是关于cookie被阻止的类似解决方案。比如网上的一些解决办法
用户名和密码都正常,不是密码问题。网上给出的几个方法。
1、升级最新版本
这里通过手动升级WordPress的办法(WordPress程序自动与手动升级新版本的操作过程)。将WP程序升级到最新版本。
2、升级主题和插件
这里将他的主题下载最新版本升级到最新。当然这里为解决这个问题我可以可以禁止主题。插件我先禁止插件使用,然后登录后台一个个再升级到最新启动。
3、设置cookie域
在wp_config.php 中增加一句cookie域定义
define('COOKIE_DOMAIN', 'www.banzhuti.com');
都没有解决我的问题。毕竟浏览器一般情况都是开启cookie的,所以搬主题找到的最终的解决办法如下:
(1)找到wp-includes/pluggable.php文件
(2)代码替换
找到如下代码:
setcookie($auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);
将其中的 ADMIN_COOKIE_PATH
改为 SITECOOKIEPATH
,代码如下
setcookie($auth_cookie_name, $auth_cookie, $expire,SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true);
保存后,清空网站缓存后,再次观察,一直未出现该问题。
问题解决总结
因为搬主题采用的是会员为前台登陆方式,即登陆的为www.banzhuti.com这样的根目录,而WordPress原生代码设置的为www.banzhuti.com/wp-admin这样的目录为会员登录使用,因此两者的cookie出现不一致的时候,就自然验证失败了。
也就是说当会员在网站登陆成功一次后,网站自动记录其会员的登陆cookie路径为ADMIN_COOKIE_PATH
,而过几天网站缓存过期后,但是cookie还未过期,会员再次请求登陆的时候,因为是前台登陆,cookie域路径为 SITECOOKIEPATH
,最终两者冲突,导致一直验证失败,无法登陆。只要用上面的办法,将两者的cookie保持一致即可。或者你将会员登录的路径变成www.banzhuti.com/wp-admin这样的目录,问题也能解决。
Tags:LiteSpeed Cache OpenLiteSpeed SSH教程 WordPress WordPress教程 主机教程
很赞哦! ()
相关文章
- WordPress遇到PHP致命错误的解决办法“PHP Fatal erro
- OpenLiteSpeed网站设置CDN后显示真实访客IP图文教程
- OpenLiteSpeed禁用xmlrpc.php 避免DDoS攻击
- WordPress前端页面加载优化加速合集 网站秒开秘籍
- WordPress登陆用户和普通访客显示不同菜单设置图文教
- 什么是拒绝服务攻击?WordPress网站防范DDoS攻击的方法
- WordPress安装/更新插件后报错“a padding to disable
- 修改WordPress文章及附件图像URL教程
- Zblog转换为WordPress最简单的方法教程
- 关闭/禁用WordPress站点管理员电子邮件验证教程
随机图文
-
WordPress 页面模板(Page Template)下拉列表不显示的原因及解决方法
WordPress 的自定义页面模板是一个非常强大好用的功能,使用它新建一些静态页面(Page),添加上一些数据调用的函数,再在网页上做一个导航连接到对应的页面就可以实现很多自定义的功 -
wordpress 上传的图片不显示的问题 base64,data:image/gif
-
wordpress发布文章HTML标签被自动过滤掉该如何处理?
wordpress发布文章时很多html标签都会自动过滤掉,造成了文章中无法添加<style></style><script></script>等标签。那么该如何如何处理呢? 解决方法一: 将wp-includes文件夹下 -
wp_reset_postdata 和 wp_reset_query 的作用与区别
什么时候使用wp_reset_query,什么时候用wp_reset_postdata?
文章评论
本站推荐
标签云
猜你喜欢
- 深入比较古腾堡Gutenberg编辑器与页面构建器 – 哪个更好更快?
- WordPress 公布即将推出的默认主题 Twenty Twenty-Four 的设计
- 为WordPress后台文章列表添加作者筛选功能
- WordPress网站实现分类文章排序及控制文章数量分页
- WordPress网站如何生成静态HTML网页图文教程
- WordPress优化:wp_head和remove_action函数
- WordPress初学者入门教程 [13] 用户配置文件
- 打造卓越用户验:WordPress让访客留连忘返
- VPS网站文件及数据库定时备份到七牛云存储图文教程
- 打造与众不同的WordPress网站:个性化你的网页设计和排版