这 WordPress REST API 为 WordPress 数据类型提供 API 端点,允许开发人员通过发送和接收 JSON 对象远程与站点交互。
这是通过通过 URI 映射不同的端点来完成的,例如:
https://editwp.com/wp-json/
虽然 WordPress REST API 很棒,但一个问题是,默认情况下,它会通过以下 URL 将任何在您的 WordPress 网站上发布的用户的用户名完全打开:
https://editwp.com/wp-json/wp/v2/users
这可能不是您希望每个人都知道的事情。 为什么? 因为有人可能会开始猜测您 WordPress 网站上所有用户名的密码(暴力攻击)。 希望您的作者、贡献者和管理员使用安全密码,但是,让您的用户名列表完全开放并不理想。
因此,我们现在在 Perfmatters 插件中有一个选项,您可以禁用 WordPress REST API。
什么使用 REST API?
由于存在使用 REST API 的插件、服务和应用程序,您不想完全禁用 REST API,因此我们内置了权限模型。 以下是一些使用 REST API 的示例:
- Yoast SEO 和 Ryte 仪表板小部件。
- 喷气背包。
- 一些联系表格。
- 字栅栏。
- 一些特定的 WooCommerce 仪表板小部件。
- 新的 Gutenberg 块编辑器使用 REST API 在您制作页面和发布编辑时进行交流。 如果您完全禁用它,您将收到错误消息:“更新失败。”
因此,我们拥有您可以使用的不同权限。 例如,您可以选择“对非管理员禁用”或“注销时禁用”选项。
如何禁用 WordPress REST API
按照以下步骤禁用 WordPress REST API。
步骤1
单击进入 Perfmatters 插件设置。
第2步
确保您位于“常规”选项卡上。
第 3 步
在“选项”部分下,向下滚动并选择“禁用 REST API”下的选项。
有三种不同的选择。 默认情况下,启用 REST API。 然后,您可以选择为非管理员禁用它(推荐和我们使用的),或者在注销时禁用。 如果您正在与作者合作,您将希望启用此功能。
第4步
向下滚动并单击“保存更改”。
这样做是禁用 REST API 请求并在请求者没有权限时显示以下错误消息。
{"code":"rest_authentication_error","message":"Sorry, you do not have permission to make REST API requests.","data":{"status":401}}
您还可以从 WordPress 站点的前端代码中删除 REST API 链接。 查看我们的文章 如何删除 WordPress REST API 链接.