使用ajax和nonce/caching为wordpress构建前端登录时的最佳实践

使用ajax和nonce/caching为wordpress构建前端登录时的最佳实践,ajax,wordpress,caching,nonce,Ajax,Wordpress,Caching,Nonce,我在WordPress主题中构建了一些功能,允许用户通过前端注册和登录,使用ajax功能验证和注册/登录用户 我的问题是关于暂时的。因为我使用了一个缓存插件,在nonce过期和页面缓存刷新之间的一段时间内,页面显示一个过期的nonce,因此ajax登录不起作用,它正在发送旧的缓存nonce 我的问题是,对于这种情况,什么是最佳做法 在我看来,我有几个选择: 1完全删除用于登录/注册的nonce,并保持其打开状态,以便任何人都可以尝试直接通过ajax登录/注册。这是安全问题还是标准问题 2以某

我在WordPress主题中构建了一些功能,允许用户通过前端注册和登录,使用ajax功能验证和注册/登录用户

我的问题是关于暂时的。因为我使用了一个缓存插件,在nonce过期和页面缓存刷新之间的一段时间内,页面显示一个过期的nonce,因此ajax登录不起作用,它正在发送旧的缓存nonce

我的问题是,对于这种情况,什么是最佳做法

在我看来,我有几个选择:

  • 1完全删除用于登录/注册的nonce,并保持其打开状态,以便任何人都可以尝试直接通过ajax登录/注册。这是安全问题还是标准问题

  • 2以某种方式通过另一个ajax请求动态加载nonce以绕过缓存特性

  • 3构建我自己的nonce系统,当nonce被更新时,它也会刷新缓存(看起来有些过分)


我觉得这应该是相当标准的,我不应该重新发明轮子,但我似乎找不到答案。我在网上看到一些人说应该更频繁地刷新缓存,但即使如此,根据我的计算,仍然会有一段时间,当nonce过期,缓存刷新时,nonce将无效。

我发现了这一点。每12小时生成一个新的nonce,但每个nonce在24小时内仍然有效。因此,只要我将缓存设置为在12小时内过期,它仍然有效。问题解决了

如果您以其他用户的身份登录或注销,该怎么办?我对nonces缓存有问题,还没有找到解决方法。