WordPress 5.6 是计划于 2020 年发布的最后一个主要版本。发布于 2020 年 12 月 8 日,它包括一些主要功能和更新,以及大量次要增强功能和错误修复。一些更改具有直接的安全性和兼容性影响,我们在本文中为 WordPress 用户强调了这一点。
应用程序密码增加功能并带来风险
WordPress 5.6 将有一个新功能,允许外部应用程序请求权限连接到站点并生成特定于该应用程序的密码。一旦应用程序被授予访问权限,它就可以通过 WordPress REST API 代表用户执行操作。
不幸的是,社会工程网站管理员将应用程序密码授予恶意应用程序是微不足道的。攻击者可以诱使网站所有者单击请求应用程序密码的链接,并根据需要命名他们的恶意应用程序:
更糟糕的是,应用密码请求URL被设置为将新生成的密码重定向到请求者的站点.由于应用程序密码在生成它们的用户的许可下工作,攻击者可以使用它们来控制网站。我们演示了攻击者如何通过 Wordfence Live 上的 app 密码 使用社会工程攻击。
因此,最新版本的 Wordfence 7.4.14 默认禁用应用程序密码。如果您有应用密码的特定用例并想重新启用应用密码,您可以在 Wordfence->Firewall->Manage Brute Force Protection 下执行此操作:
虽然有风险,但应用密码在未来可能会提供一些实用性。如何使用它们的一些示例包括从其他界面向 WordPress 站点发布帖子、访问或更新 WordPress 数据库中的数据,甚至创建用户。
从表面上看,此功能类似于 XML-RPC,但 REST API 提供了更广泛的功能。此外,应用密码是安全生成的,长度为 24 个字符,因此暴力破解和撞库攻击不太可能得逞。
如果您决定使用应用程序密码,我们强烈建议设置一个具有最低权限的用户,最好只具有您正在连接的应用程序所需的权限。
jQuery 更新继续
2020 年 8 月发布的 WordPress 5.5 移除了 jQuery Migrate 脚本。这导致许多使用依赖于旧版本 jQuery 的插件的站点出现问题。
如果您的站点受到影响并且您当前正在使用 Enable jQuery Migrate Helper 插件来解决这些问题,那么在更新到 WordPress 5.6 之前,您需要确保您的网站在没有它的情况下也能正常工作。
这是因为WordPress 5.6会更新到最新版的jQuery,并添加了jQuery Migrate 3.3.2,可能与Enable jQuery Migrate有关Helper 插件(即 jQuery Migrate 1.4.1)重新启用版本冲突。
WordPress 多年来一直在使用过时版本的 jQuery 库。
WordPress 5.6 是将 WordPress 升级到最新版本 jQuery 的三步计划中的第二步。计划是:
- WordPress 5.5:删除 jQuery Migrate 1.x 脚本。 (2020 年 8 月)
- WordPress 5.6:更新到最新的 jQuery、jQuery UI 和 jQuery Migrate 脚本。 (2020 年 12 月)
- WordPress 5.7:删除了 jQuery Migrate 脚本。 (2021 年 3 月)
因为这个时间线,jQuery 的兼容性其实比 PHP 8.0 的兼容性要紧迫得多。插件和主题开发人员应该在 WordPress 5.7 发布之前的接下来几个月内完全转换他们的代码以与最新版本的 jQuery 兼容,而无需 jQuery Migrate 的帮助。
尽管安全修复程序已移植到早期 WordPress 版本使用的 jQuery 版本,但许多工具(例如 Google 的 Lighthouse)报告称,运行旧版本 jQuery 的 WordPress 网站容易受到攻击.好消息是,这些网站审核工具应该不会再显示 WordPress 5.6 网站容易受到攻击。
PHP 8 兼容性
WordPress 5.6 旨在与 PHP 8“测试版兼容”。这意味着网站在 PHP 8 上以默认主题运行 WordPress 5.6 并且没有插件在正常使用情况下不太可能遇到任何问题。我们的 上一篇文章深入探讨了插件作者在与 PHP 8 兼容时将面临的一些挑战。
如果您是对于使用大量插件的典型 WordPress 网站所有者,可能需要一段时间才能安全地更新到 PHP8。另一方面,如果您要从头开始创建一个全新的网站,则需要从最新版本的 PHP 和 WordPress 着手解决许多问题。
自动主要版本更新
过去我们讨论了自动更新以及它们如何对于某些用例来说必不可少,但对其他用例来说可能是灾难性的。目前,WordPress 核心自动应用次要更新,由于经过大量测试,这通常比自动插件更新安全得多。
从 WordPress 5.6 开始,所有新WordPress 安装都将收到 span>主要 版本自动更新。这意味着如果您使用 WordPress 5.6 创建一个新的 WordPress 网站,它会在 WordPress 5.7 发布时自动更新。虽然这可能会导致问题,但请记住,最有可能出现问题的是不兼容的插件,这在全新的网站上并不常见。
从早期版本更新到 WordPress 5.6 的现有网站将保留当前仅针对次要版本和安全补丁自动更新的行为,因此当前网站所有者无需担心这一点。如果需要,当前站点所有者现在可以选择自动主要版本更新,甚至 Beta 和 RC 版本。
全新主题
由于 5.6 是 2020 年 WordPress 的最后一个主要版本,它包括明年的新主题主题,命名为二十一二十一。与以前的默认 WordPress 主题一样,它基于现有主题 Seedlet 并且,虽然包括暗模式支持,但它是最小的。
结论
WordPress 5.6 包含许多更改、改进和错误修复,包括许多我们没有涵盖的内容。我们专注于我们认为与用户最相关且最有可能引起问题的项目。与所有主要的 WordPress 更新一样,是否要立即更新取决于您的用例。有许多有前途的新功能以及潜在的增长陷阱,但这些都是针对开发人员而不是用户的。