如何禁用WordPress REST API(两种方法)- Themeisle

作者:API传播员 · 2026-01-02 · 阅读时间:5分钟

使用REST API,您可以将WordPress网站与第三方服务和应用程序连接。然而,这种连接可能会增加网站的安全风险。因此,许多人希望找到禁用WordPress REST API的方法。

幸运的是,这个过程并不复杂。您可以选择使用插件快速禁用REST API,或者通过添加代码手动实现。这些方法不仅能保护您的网站免受暴力攻击,还能提升整体安全性


什么是REST API?

WordPress REST API是一种工具,允许开发人员将WordPress与第三方Web应用程序集成。通过REST API,开发人员可以远程访问WordPress数据,而无需登录网站。

以下是REST API的两个核心概念:

  • 应用程序编程接口(API):一种使两个应用程序能够相互通信的程序接口。
  • 代表性状态转移(REST):一组开发API时需遵循的设计原则,例如可缓存数据和独立运行的网站与服务器。

REST API基于这些标准设计,使其他应用程序能够访问WordPress数据库并获取数据。许多WordPress插件正是依赖REST API来正常运行。

REST API通过JSON(JavaScript对象表示法)格式发送和接收数据。这意味着即使不了解PHP的前端开发人员,也可以轻松在WordPress内容管理系统上工作。


为什么需要禁用WordPress REST API?

尽管REST API功能强大,但它也可能带来安全隐患:

  1. 暴力攻击:REST API默认会公开用户名,这可能被黑客利用,通过尝试各种用户名和密码组合来攻击您的网站。
  2. 分布式拒绝服务(DDoS)攻击:恶意行为者可能通过REST API向您的网站发送大量虚假流量,导致网站无法正常运行。
  3. 性能问题:即使采取了安全措施,REST API仍可能占用大量资源,影响网站速度。

如果您的网站并不需要REST API的功能,禁用它可以有效减少这些风险。


如何禁用WordPress REST API(两种方法)

接下来,我们将介绍两种禁用WordPress REST API的方法。建议在操作前备份您的网站,以防止意外问题。您也可以先在测试环境中尝试这些方法,再将更改应用到正式网站。


方法一:使用插件禁用REST API

使用插件是禁用WordPress REST API最简单的方法。例如,您可以使用Disable REST API插件。激活该插件后,REST API将自动被禁用。此外,您还可以通过插件设置,允许特定用户或端点继续使用REST API。

操作步骤:

  1. 安装并激活Disable REST API插件。
  2. 激活后,普通用户将无法访问REST API。
  3. 如果需要为特定用户或端点保留访问权限:
    • 前往设置 > Disable REST API
    • 在下拉菜单中选择允许访问REST API的用户角色。
    • 配置允许访问的端点,并保存更改。

注意:由于该插件可能较长时间未更新,请务必在测试站点上验证其兼容性。


方法二:通过代码片段禁用REST API

如果您希望更灵活地控制代码,可以通过添加代码片段来禁用REST API。这种方法适合对代码有一定了解的用户。

操作步骤:

  1. 安装并激活Code Snippets插件(如果尚未安装)。

  2. 创建一个新的代码片段,命名为“禁用REST API”。

  3. 将以下代码粘贴到代码框中:

    add_filter('rest_authentication_errors', function ($result) {
       if (!empty($result)) {
           return $result;
       }
       if (!is_user_logged_in()) {
           return new WP_Error('rest_disabled', 'REST API 禁用', array('status' => 403));
       }
       return $result;
    });
  4. 选择“在任何地方运行代码段”选项。

  5. 保存更改并激活代码片段。

完成后,WordPress REST API将被禁用。


总结

禁用WordPress REST API可以有效提升网站的安全性和性能,尤其是在您不需要使用REST API功能的情况下。以下是两种主要方法:

  1. 使用插件(如Disable REST API)快速禁用REST API。
  2. 通过Code Snippets插件手动添加代码片段实现禁用。

根据您的需求选择适合的方法,并确保在操作前备份网站数据,以防止意外问题。


原文链接: https://themeisle.com/blog/disable-wordpress-rest-api/