wordpress网站出现注册登录随机数效验失败的解决方法

前几天有用户反馈给林云,说我的wordpress网站注册不了,一直显示随机数效验失败。林云当时也很纳闷这是什么原因呢?后面经过排查原来是缓存插件搞的鬼,下面我给大家具体问题以及我是如何解决此问题的。

随机数校验是什么?

首先我们需要知道,随机数校验是什么东西。随机数校验(nonce)是基于wordpress自带的一种表单验证方式,意为:number used once,字面意思就是只能使用一次的数字,所以可以有效的阻止恶意表单提交。

为什么wordpress会出现注册或登录随机数效验失败?

因为缓存插件,通常插件生成缓存之后,后续所有的用户访问注册或者登录这个页面都是同一个随机数,那么一定是会出现随机数效验失败的情况。

如何解决注册登录随机数效验失败?

既然我们知道是因为插件缓存的原因,那么后面就好办了,用过的朋友都知道,不管是WP Super Cache、W3 Total Cache、WP Fastest Cache这些主流的缓存插件都用排除功能,你可以在设置界面里,设置排除页面,让这些页面不参与缓存即可。下面林云以自己使用的WP Super Cache插件为例。

首先,登录后台,设置中找到WP Super Cache,点击进去就可以设置WP Super Cache了;

wordpress网站出现注册登录随机数效验失败的解决方法

第二步,点击高级-找到如下设置,你可以通过两种方法来解决这个问题,第一是直接在已被接受的文件名和拒绝的 URI下选择勾选页面,点击保存设置,这样网站所有页面将被排除不进行缓存。

wordpress网站出现注册登录随机数效验失败的解决方法

或者在下面手动添加强制禁止缓存页面的关键词,比如你要排除注册页面,就将域名后的地址关键词填入,注册大家常用login,你只需要填入此关键词即可,这样WP-Cache 将会搜索所有符合条件的页面并且不缓存它们。这样随机数效验失败的问题就解决了。

提示:为避免其他页面也出现此问题,林云建议大家,将注册、登录、找回密码、社交绑定页面、投稿、问答提问等等需要验证的页面都排除,不然还要另外添加账号设置,和个人中心的排除规则实在麻烦。我不愿意一个个添加,懒,所以直接在上面勾选不缓存网站页面,问题解决。大家也可以使用这种简单粗暴的方法解决问题。

以上就是wordpress网站出现注册或者登录等页面显示随机数效验失败的解决方法,林云就是这样解决此问题的,大家遇到这样的问题也可以通过此方法解决,快试试看吧。如有不明白的地方可评论区留言咨询林云。

原创文章:《wordpress网站出现注册登录随机数效验失败的解决方法》,作者:林云SEO,如若转载,请注明原文及出处:https://www.tang-seo.com/1990.html

发表评论

登录后才能评论