WordPress 中的 XML-RPC 功能默认启用,允许多种功能,例如发布帖子、管理评论和远程更新类别。
然而,这个文件解决方案成为了一个漏洞,而不是一个完美的解决方案。一些 WordPress 用户选择完全禁用 XML-RPC 协议。
在本文中,我们将探讨 xmlrpc.php 的用途、其优点和缺点,以及如何在 WordPress 网站上管理它。
目录:
什么是 Xmlrpc.php?
XML-RPC 是一种允许软件应用程序通过互联网相互通信的协议。在 WordPress 中,XML-RPC 功能是通过名为 xmlrpc.php 的文件实现的。
该文件是一个端点,允许外部应用程序与 WordPress 交互并执行各种任务,例如创建和编辑帖子。
XML-RPC 是一项强大的功能,使开发人员能够构建与 WordPress 交互的外部应用程序。例如,移动应用程序可以使用 XML-RPC 与 WordPress 网站进行通信,从而允许用户通过手机管理其内容。
为什么需要禁用 Xmlrpc.php?
由于 XML-RPC 是一种远程访问协议,因此它也可能存在安全风险。恶意用户可以使用它来执行暴力攻击、利用漏洞以及未经授权访问 WordPress 网站。这就是为什么一些 WordPress 用户更喜欢禁用 XML-RPC 或限制对特定 IP 地址的访问。
在 WordPress 网站上禁用 XML-RPC 文件的主要原因是该文件引入了不同的漏洞攻击。现在,您可以使用强密码和不同的安全插件来保护您的 WordPress 网站。但最好的网站保护模式就是在您的 WordPress 网站上禁用此功能。
您应该在 WordPress 网站上禁用 xmlrpc.php,原因有多种,包括:
1. 暴力攻击
每次,xmlrpc.php 文件都会创建一个请求来验证用户名和密码,但其他 API 不会。其他 API 发送用于身份验证的令牌,而不是用户名和密码。
由于xmlrpc.php每次都会发送信息验证请求,黑客可以利用这些信息访问您的网站。因为暴力攻击有助于插入、删除和修改网站代码或损坏您的网站数据库。
如果黑客发送足够多的请求来获取不同的用户名和密码对,他们就可以轻松找到正确的用户名和密码对并访问您的 WordPress 网站。
这就是为什么如果您在网站上使用最新或最新版本的 WordPress 并使用不同的身份验证 API 与外部系统通信,则必须在网站上禁用此选项。
2.DDoS 攻击(Pinbacks)
如果您的网站启用了 xmlrpc.php,则 DDoS(分布式拒绝服务)是第二次攻击,您的网站将被关闭/离线。因为 Pingback 和 trackback 是 xmlrpc.php 的功能。
如果您的网站启用了 xmlrpc.php,黑客可以快速向您的 WordPress 网站发送许多 pingback。这种攻击可能会使您的服务器超载,并使您的网站无法运行或关闭。
攻击者首先识别出启用了 pingback 功能的易受攻击的 WordPress 站点。然后,他们开始使用僵尸网络或其他方式向目标网站发送许多 pingback 请求(通常使用欺骗性的 IP 地址)。这使得阻止请求变得困难,从而导致大量的流量泛滥。它会压垮目标网站的服务器,最终可能导致服务器崩溃。
如何在 WordPress 中禁用 xmlrpc.php
现在您知道为什么需要禁用 xmlrpc.php,让我们深入了解执行此操作的不同方法:
方法 1. 使用 WordPress 插件禁用 xmlrpc.php
WordPress 插件是禁用 WordPress 网站中的 xmlrcp.php 的最简单方法之一。
如:WPJAM插件,勾选禁用XMLRPC功能;
方法 2:手动禁用 xmlrcp.php
如果您不想使用任何插件来禁用 xmlrcp.php,那么您可以通过网站的 .htaccess 文件手动禁用 XML-RPC。
注意:如果您没有 .htaccess 文件,则需要创建它。
如果您的网络空间中已存在该文件,您可以编辑该文件。
首先,登录到控制面板并打开文件管理器。接下来,单击“创建”,选择“文件”,然后选择“其他”选项。
将文件命名为 .htaccess 并按键盘上的 Enter 键。现在,只需选择.htaccess文件并单击“编辑”。
在下一个屏幕上,您必须将以下代码粘贴到 .htaccess 文件中:
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from www.digseo.com
</Files>
完成后,它将禁用您的 WordPress 网站上的 XML-RPC。
方法 3:从主题中禁用 xmlrcp.php
如果您想在整个站点上禁用 XMLRPC,请在主题的functions.php 文件中使用此过滤器。
注意:建议使用子主题而不是父主题来编辑functions.php文件。当您更新主题时,有可能会丢失修改后的代码。它可能会对您的网站造成一些不利影响。
为此,请转到 WordPress 管理仪表板的左侧边栏,导航至“外观”,然后单击“主题文件编辑器”选项。
在下一个屏幕上,单击右侧的主题功能。向下滚动到functions.php 文件的底部并添加过滤器。
这是过滤器:
add_filter( 'xmlrpc_enabled', '__return_false' );
添加后,单击“更新文件”按钮保存更改。
此过滤器将禁用您的 WordPress 网站上的 XML-RPC。
最后
XML-RPC 是为了 WordPress 网站与外部系统和应用程序的通信而创建的。但由于其功能意味着身份验证过程,出现了不同的安全问题,这意味着黑客可以轻松攻击您的 WordPress 网站。
但现在,当前的 API 可帮助您与外部系统和应用程序进行通信,这些系统和应用程序使用令牌而不是用户名和密码进行身份验证。现在您可以禁用 WordPress 文件中的 xmlrcp.php 以进行安全通信;您只需按照上述方法禁用 XML-RCP 即可。通过禁用它,您将提高网站的安全级别。