WordPress中的Xmlrpc.php是什么,为什么要禁用它

WordPress中的Xmlrpc.php是什么,为什么要禁用它

WordPress一直具有内置功能,可让您与站点进行远程交互。面对现实,有时您需要访问您的网站,并且您的计算机不会在附近。长期以来,解决方案是一个名为xmlrpc.php的文件。但是近年来,该文件已成为更多的害虫,而不是解决方案。

下面我们深入研究xmlrpc.php的实际含义以及创建它的原因。我们还概述了由它引起的常见安全问题,以及如何在您自己的WordPress网站上对其进行修补。

什么是Xmlrpc.php?

XML-RPC是WordPress的一项功能,它使数据能够被传输,其中HTTP充当传输机制,而XML充当编码机制。由于WordPress并不是一个自封闭的系统,因此有时需要与其他系统进行通信,因此试图处理该工作。

例如,假设您想从移动设备发布到您的网站,因为您的计算机不在附近。您可以使用xmlrpc.php启用的远程访问功能来做到这一点。

启用xmlrpc.php的核心功能是允许您通过智能手机连接到您的站点,实现其他站点的引用和pingback以及与Jetpack插件相关的某些功能。

为什么创建Xmlrpc.php以及如何使用它?

XML-RPC的实现可以追溯到WordPress的早期,甚​​至还没有成为WordPress。

早在Internet初期,当连接速度非常慢时,在Web上进行写入和发布的过程就变得更加困难和耗时。大多数人不是在浏览器中编写内容,而是离线编写内容,然后将其内容复制并粘贴到网络上。但是,此过程仍远非理想。

解决方案(当时)是创建一个脱机博客客户端,您可以在其中编写内容,然后连接到博客进行发布。该连接是通过XML-RPC完成的。有了XML-RPC的基本框架,早期的应用程序便使用相同的连接来允许人们从其他设备登录其WordPress网站。

如今的XML-RPC

在2008年的WordPress 2.6版中,有一个启用或禁用XML-RPC的选项。但是,随着WordPress iPhone应用程序的发布,默认情况下启用了XML-RPC支持,并且没有关闭该设置的选项。直到今天仍然如此。

但是,随着时间的流逝,该文件的功能已大大降低,文件的总大小从83kb减少到3kb,因此它的作用不像以前那样大。

XML-RPC的未来

借助新的WordPress API,我们可以期望将XML-RPC完全淘汰。如今,这个新的API仍处于试用阶段,只能通过使用插件来启用。

但是,您可以期望将来将API直接编码到WordPress核心中,这将基本上完全不需要xmlrpc.php文件。

新的API并不完美,但是它为xmlrpc.php解决的问题提供了更健壮和安全的解决方案。

为什么要禁用Xmlrpc.php

XML-RPC的最大问题是出现的安全问题。问题不是直接与XML-RPC有关,而是与如何使用文件在您的站点上发起暴力攻击有关。

当然,您可以使用难以置信的强密码和WordPress安全插件来保护自己。但是,最好的保护模式是简单地将其禁用。

过去已经利用了XML-RPC的两个主要弱点。

首先是使用蛮力攻击进入您的网站。攻击者将尝试通过使用各种用户名和密码组合使用xmlrpc.php访问您的站点。他们可以有效地使用一个命令来测试数百种不同的密码。这使他们可以绕过通常检测和阻止暴力攻击的安全工具。

第二个是通过DDoS攻击使站点脱机。黑客会使用WordPress中的pingback功能将pingback立即发送到数千个站点。xmlrpc.php中的此功能为黑客提供了几乎无穷无尽的IP地址,以分发DDoS攻击。

要检查XML-RPC是否在您的站点上运行,则可以通过一个名为XML-RPC Validator的工具来运行它。通过该工具运行您的网站,如果收到错误消息,则表明您未启用XML-RPC。

如果收到成功消息,则可以使用以下两种方法之一停止xmlrpc.php。

方法1:使用插件禁用Xmlrpc.php

在您的WordPress网站上禁用XML-RPC再简单不过了。

只需 从WordPress仪表板内导航至 Plugins› Add New部分。搜索“禁用XML-RPC”并安装如下图所示的插件:

安装禁用xmlrpc插件

激活插件,一切就绪。该插件将自动插入必要的代码以关闭XML-RPC。

但是,请记住,某些现有插件可能会利用XML-RPC的某些部分,因此,完全禁用它可能会导致插件冲突或网站的某些元素不再起作用。

如果您只想关闭XML-RPC的某些元素,但仍允许某些插件和功能正常工作,请改用以下插件:

  • 停止XML-RPC Attack。该插件将阻止所有XML-RPC攻击,但将继续允许Jetpack等插件以及其他自动工具和插件保留对xmlrpc.php文件的访问。
  • 控制XML-RPC发布。这使您可以保留对xmlrpc.php提供的远程发布选项的控制和使用。

方法2:手动禁用Xmlrpc.php

如果您不想使用插件,而是希望手动进行操作,请遵循此方法。在将其传入WordPress之前,它将停止所有传入的xmlrpc.php请求。

打开您的.htaccess文件。您可能必须在文件管理器或FTP客户端中打开“显示隐藏的文件”才能找到此文件。

在您的.htaccess文件中,粘贴以下代码:#阻止WordPress xmlrpc.php请求<文件xmlrpc。php >拒绝,允许所有人都否认允许来自xxx。xxx 。xxx 。xxx< /文件>

注意:将xxx.xxx.xxx.xxx更改为您希望允许访问xmlrpc.php的IP地址或完全删除此行。

总结思想

总体而言,XML-RPC是解决由于远程发布到WordPress网站而发生的某些问题的可靠解决方案。但是,此功能带来了一些安全漏洞,最终对某些WordPress网站所有者造成了相当大的损害。

为了确保您的网站安全,最好完全禁用xmlrpc.php。除非您需要远程发布和Jetpack插件所需的某些功能。然后,您应该使用允许这些功能的变通办法插件,同时仍然修补安全漏洞。

随着时间的推移,我们可以预期XML-RPC的功能将被集成到新的WordPress API中,它将在不牺牲安全性的情况下保持远程访问等。但是,与此同时,保护自己免受潜在的XML-RPC安全漏洞是个好主意。

您是通过插件还是手动阻止了XML-RPC访问?还是一开始就遇到任何安全问题?请在下面的评论中分享您的经验。 

Article From : https://www.hostinger.com/tutorials/xmlrpc-wordpress

作者

作者

凯文·伍德

凯文(Kevin)是一位自由撰稿人,专门研究技术和在线内容营销。他喜欢使所有读者都可以访问复杂的营销和技术主题。当他不粘在屏幕上时,您会发现他迷失在书中,写诗或在树林中奔跑。