运行WordPress网站时,您希望保持安全这样,您的表单、内容、数据和用户就不会受到攻击和其他恶意活动。一种方法是使用nonce。

nonce是一次性令牌,用于保护表单和URL免受某些类型的误用,例如跨站点请求伪造(CSRF). 基本上,为给定上下文中的给定用户生成一个nonce,这样它不仅对WordPress安装和用户是唯一的,而且对操作、操作对象和操作时间也是唯一的。

因此,假设用户在WordPress仪表板中打开一篇文章进行编辑,然后决定将其删除。提交删除请求时,WordPress将验证是否发送了先前生成的nonce,该nonce预期用于此WordPress安装、用户、目的、文章和时间段。然后,它将决定用户的请求是否可以安全执行已处理。如果无法处理,则将返回错误消息。

此错误机制旨在防止在您的计算机上处理重复、过期、恶意或其他不需要的提交和请求WordPress网站-但它也会阻止真正的用户在您的网站上提交表单或完成其他操作。

立即下载:免费网站安全检查表

在这篇文章中,我们将更仔细地了解什么是nonce错误以及它发生的原因,然后介绍修复它的不同方法。

nonce代表“使用一次的数字”,而WordPress nonce实际上可以由同一用户多次使用-只要它在nonce的有限生存期内。在这段时间之后,nonce将被视为无效。在WordPress中,nonce的默认生存期为一天。

请记住,如果WordPress安装、用户、操作或操作对象发生更改,则nonce也将被视为无效。

如果您的WordPress网站确定nonce无效且无法安全处理请求,则会发送类似以下内容的错误消息:

暂时误差

图像源

什么导致了一个nonce错误?

当用户发出请求时,如果没有由WordPress生成并提供给用户的正确nonce,则会导致nonce错误。用户可能正在尝试完成以下操作:

  • 发布新的帖子或页面
  • 上传插件
  • 上传主题
  • 上传视频或其他媒体文件
  • 创建用户
  • 删除帖子或页面
  • 创建标记和类别

例如,假设您在站点上实现nonce,那么WordPress将在URL的末尾添加nonce键。因此,在您的网站上删除帖子的URL可能类似于:

http://example.com/wp-admin/users.php?user=2&action=delete&_wpnonce=b192fc4204

如果用户试图用另一个值替换用户ID,如“user=4”,或用另一个值替换操作ID,或登录和注销,则nonce将无效,尝试访问该链接将导致nonce错误。

在这个假设中,问题可能是用户实际上是试图访问您的网站或内容的黑客。或者用户可能是完全合法的,问题可能是您的某个插件、主题或WordPress文件。

下面我们将更深入地讨论nonce错误的可能原因,并通过不同的方法进行修复。

1.刷新浏览器。

这听起来可能太容易了。但与大多数错误一样,您需要确保您遇到的任何问题都不是暂时的小故障。因此,请刷新浏览器并尝试重复导致nonce错误的操作。

如果您仍然收到“您确定要这样做吗?”消息,请继续下一步。

2.暂时停用你的插件。

某些WordPress插件如果未正确使用nonce功能编码,则可能会在站点上导致nonce错误。

如果您最近上传了一个新插件,而您或您的用户刚刚看到nonce错误上传失败,请尝试停用该插件。

如何修复nonce错误:停用插件

如果这不能解决错误,那么试着逐个停用插件。如果取消激活插件后nonce错误消失,那么您可以联系插件开发人员进行故障排除,或者在您的站点上找到替代方法。

如果nonce错误没有消失,那么继续重新激活插件并尝试下一步。

3.恢复为默认主题。

你的主题是另一个罪魁祸首,它可能会在你的网站上造成暂时错误。尝试切换回默认主题,然后重新提交导致nonce错误的请求。如果没有发生,那么可能是您以前的主题导致了问题。在这种情况下,您可以坚持使用默认主题或尝试其他替代主题。

如何修复nonce错误:还原为默认主题

如果nonce错误没有消失,那么继续重新安装主题并尝试下一步。

4.替换WordPress核心文件。

如果上述步骤还没有解决问题,那么您需要替换WordPress核心文件。这些文件可能被插件或主题不正确地修改,这导致了nonce错误。

要将WordPress核心文件替换为干净、未修改的文件,请执行以下步骤。

  • 备份你的网站手动或先使用插件。
  • 下载WordPress并将其解压缩到您的设备上。
  • 通过电子邮件登录到您的站点FTP客户端.
  • 在wordpress主文件夹中,删除wp-config-sample.php和wp-content文件夹。如果不删除这些文件,它们将覆盖您当前的站点数据。
  • 使用FTP客户端将新的WordPress核心文件放在托管服务器上并替换当前文件。

修正暂时错误

暂时的错误会让你和你的用户感到沮丧。按照上面的步骤,你有望在对WordPress网站或用户体验影响最小的情况下解决这个问题。

新的行动呼吁

新的行动呼吁

最初发布于2021年10月7日上午7:00:00,更新于2021年10月7日

话题:

WordPress安全