如何在 WordPress 中禁用 REST API

已发表: 2023-05-28

您想禁用 Rest API 但不知道如何操作吗? 不用担心; 我们已经为您准备好了。

在本文中,我们将解释如何在 WordPress 中禁用 Rest API,以及为什么它是您网站安全的重要步骤。

您是否知道 Rest API 是黑客用来未经授权访问网站的最常见方式之一?

据领先的网站安全公司 Sucuri 称,2020 年 73% 的被黑 WordPress 网站是由于易受攻击的插件和主题,其中 Rest API 是主要漏洞之一。

如果您想知道 Rest API 是什么以及为什么禁用它对您网站的安全至关重要,请继续阅读。

在本文中,我们将提供有关如何在 WordPress 中禁用 Rest API 的分步指南,并解释为什么这样做可以防止黑客利用您网站的漏洞。

目录
什么是 WordPress Rest API?
为什么你应该禁用 WordPress REST API
如何禁用 WordPress Rest API [2 种方法]
方法一:使用插件
方法 2:不使用插件禁用 WordPress Rest API
方法 3:限制对 WordPress Rest API 的访问
常问问题
结论

什么是 WordPress Rest API?

WordPress Rest API 是一个接口,允许开发人员使用 WordPress 平台的数据构建 Web 和移动应用程序。

它可以通过生成 HTTP 请求从远程位置获取、更新和删除内容。 虽然它提供了许多好处,但出于安全原因或其他目的,某些用户可能希望禁用它。

为什么你应该禁用 WordPress REST API

如果您是 WordPress 网站所有者,您可能听说过 REST API 功能,该功能允许开发人员访问站点数据并远程执行操作。

虽然此功能很有用,但它也会带来一些安全风险,这就是许多用户选择禁用它的原因。 以下是您应该考虑这样做的一些原因:

1.未经授权的访问: REST API 可以提供对用户数据和登录凭据等敏感信息的访问。 如果您的站点的身份验证或授权措施薄弱,黑客可以利用漏洞获得对您站点的未授权访问。

2.暴力攻击:启用 REST API 后,攻击者可以使用自动化工具向您站点的 API 端点发出重复请求,试图猜测有效的用户名和密码。 这种类型的攻击会使您的服务器超载并危及您网站的安全。

3. DDoS 攻击:黑客还可以使用 REST API 发起分布式拒绝服务 (DDoS) 攻击,方法是用过多的请求使您网站的服务器不堪重负。

要限制对 WordPress REST API 的访问,您可以使用插件或手动将代码添加到站点的 functions.php 文件。 通过禁用 REST API,您可以提高站点的安全性并防止潜在的攻击。

总之,虽然 WordPress REST API 可以成为对开发人员有用的工具,但重要的是要权衡利弊与安全风险。 通过采取措施限制对 REST API 的访问,您可以保护您的网站免受潜在威胁并确保您的数据安全。

如何禁用 WordPress Rest API [2 种方法]

如果您想禁用 WordPress REST API 以提高网站的安全性和隐私性,可以使用两种方法。 第一种方法涉及使用插件,第二种方法需要修改您网站的代码。

这两种方法都很容易遵循。 通过限制对 WordPress REST API 的访问,您可以保护您的网站免受潜在的安全威胁。

方法一:使用插件

如果您担心 WordPress 网站的安全性,禁用 REST API 可能是一个有效的措施。 幸运的是,使用插件完成这项任务相对简单。

在本节中,我们将帮助您使用禁用 WP REST API 插件来禁用您网站上的 REST API。

您需要做的就是从Plugins → Add New安装并激活 Disable WP REST API 插件。

转到插件 → 添加新插件并安装禁用 WP REST API

就是这样! 激活后,该插件将自动阻止已注销用户对您站点上的 REST API 的所有请求。

在 WordPress 中使用插件来限制 Rest API 访问是在 WordPress 站点上禁用 REST API 的一种简单有效的方法。

您可以通过以下链接检查您的网站上是否实际禁用了 REST API:yourwebsite.com/wp-json

如果此 URL 显示这样的 401 错误,则表示 REST API 已禁用:

访问 WP-JSON 时出现 401 错误

方法 2:不使用插件禁用 WordPress Rest API

在本节中,我们将介绍在不使用插件的情况下禁用 WordPress Rest API 的方法。 这是保护您的网站并防止未经授权访问敏感数据的有效方法。

请按照以下步骤在没有插件的情况下禁用 WordPress Rest API:

第 1 步:转到外观 → 主题文件编辑器

转到外观 → 主题文件编辑器并打开 functions.php。

第 2 步:打开functions.php文件,并将以下代码粘贴到文件中:

 /** Disable REST API **/ // Filters for WP-API version 1.x add_filter('json_enabled', '__return_false'); add_filter('json_jsonp_enabled', '__return_false'); // Filters for WP-API version 2.x // add_filter('rest_enabled', '__return_false'); add_filter('rest_jsonp_enabled', '__return_false'); 
在此处粘贴代码

此代码阻止来自未登录用户的未经身份验证的 REST API 请求,从而有效地为他们禁用 API。 此代码还禁用 wp-json/wp/v2/users 版本 2.x WP API。

第 3 步:保存并测试您的更改

如果一切正常,当以未登录用户身份访问端点时,您应该会收到一条401 Unauthorized错误消息。

方法 3:限制对 WordPress Rest API 的访问

在本节中,我们将讨论如何限制对 WordPress Rest API 的访问,这有助于提高网站的安全性。

通过限制访问,您可以防止未经授权的请求通过 API 访问您网站的数据。

如果将is_user_logged_in检查添加到rest_authentication_errors过滤器,您将能够要求对所有 REST API 调用进行身份验证。

以下是您可以通过几个简单的步骤完成的方法:

第 1 步:访问functions.php文件。

第 2 步:将以下代码粘贴到文件中:

 add_filter( 'rest_authentication_errors', function( $result ) { // If a previous authentication check was applied, // pass that result along without modification. if ( true === $result || is_wp_error( $result ) ) { return $result; } // No authentication has been performed yet. // Return an error if user is not logged in. if ( ! is_user_logged_in() ) { return new WP_Error( 'rest_not_logged_in', __( 'You are not currently logged in.' ), array( 'status' => 401 ) ); } // Our custom authentication check should have no effect // on logged-in requests return $result; }); 
在此处粘贴代码

请注意,传入的回调参数可以是WP_Errorboolean值。 参数的类型表示认证过程的状态。

1. null:未验证,hook回调可能会申请自定义验证。

2. boolean:之前已经检查过的认证方式。 true 值表示身份验证成功,false 值表示身份验证失败。

3. WP_Error:出现错误。

第 3 步:检查您的网站以确保其正常运行。

就是这样! 通过这些简单的步骤,您可以限制对 WordPress Rest API 的访问,从而使您的网站更加安全。

重要说明:此方法可能会影响某些依赖 Rest API 的插件或主题,因此请务必在进行此更改后彻底测试您的网站。

常问问题

在 WordPress 中禁用 Rest API 的目的是什么?

禁用 Rest API 可以防止通过 Rest API 请求未经授权访问您网站的数据和功能,从而帮助提高网站的安全性。

如何在 WordPress 中禁用 Rest API?

有几种方法可以在 WordPress 中禁用 Rest API,但最简单的方法是使用诸如 Disable WP REST API 之类的插件,它使您无需任何编码即可轻松禁用 Rest API。

禁用 Rest API 会影响我网站的功能吗?

禁用 Rest API 可能会影响某些依赖 Rest API 请求才能正常运行的插件或主题的功能。 但是,大多数插件和主题应该会继续正常工作。

结论

我们讨论了在 WordPress 中禁用 Rest API 以增强网站安全性和隐私性的重要性。 我们逐步了解了通过各种方法禁用 Rest API 的过程。 通过遵循这些方法,您可以轻松保护您的网站免受潜在威胁。

感谢您抽出宝贵时间阅读本文,希望对您有所帮助。 如果您在执行本文中提到的步骤时有任何疑问或遇到任何问题,请随时在下面的评论部分中询问我们。 我们的团队随时为您提供帮助。

要了解最新的 WordPress 教程和新闻,请务必在 Facebook 和 Twitter 上关注 BetterStudio。 我们的团队会定期分享有用的提示和技巧,以帮助网站所有者优化他们的在线形象。