微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在WordPress中禁用XML-RPC?

您是否搜索有关xmlrpc.PHP文件以及如何在wordpress中禁用它?本文将解释什么是 xmlrpc.PHP 以及如何禁用它。

通过标准化系统之间的通信方法,可以通过XML-RPC规范从wordpress环境之外的应用程序与wordpress进行通信。

自诞生以来,该规范对wordpress社区具有重要价值。没有它,wordpress将与互联网的其他部分隔离开来。

但是,xmlrpc.PHP也有一些缺点。自从xmlrpc.PHP文件漏洞被发现以来,WP REST API已成为wordpress的重要组成部分。这大大增强了wordpress与其他软件程序的交互方式。

本文的目的是解释什么是 xmlrpc.PHP,为什么应该禁用它,以及如何禁用它。

什么是 xmlrpc.PHP 文件

本节的目的是回答什么是 XML-RPC PHP?XML-RPC规范可用于wordpress和其他系统之间的通信。

使用HTTP作为传输协议,XML作为编码协议,XML-RPC可以标准化这些通信中使用的协议。

wordpress于2003年从b2博客软件分叉而来,该软件使用XML-RPC作为接口。名为 xmlrpc.PHP文件驻留在系统的根目录中,并包含此功能代码。即使 XML-RPC 主要已过时,此文件仍然可用。

这是早期版本的wordpress中的认设置,用于禁用XML-RPC。从版本 3.5 开始,认情况下已启用它以支持您的 wordpress 移动应用程序和 wordpress 安装之间的通信。

wordpress版本3.5之前,wordpress移动应用程序只能在您的网站配置XML-RPC的情况下发布内容。这是由于该应用程序未运行wordpress引起的;相反,它使用xmlrpc.PHP与您的WordPress网站进行通信。

此外,XML-RPC用于wordpress和其他博客平台之间以及wordpresswordpress移动应用程序之间的通信。

XML-RPC 可用于 pingback 和 Trackback。它还充当Jetpack插件的后端,这使得自托管WordPress网站成为 wordpress.com 的成员成为可能。

由于 REST API 现已集成到 wordpress 核心中,因此我们不再使用 xmlrpc.PHP 文件。您现在可以使用 REST API 与 wordpress 的移动应用程序、桌面客户端、Jetpack 插件以及其他系统和服务进行通信,而不是使用此文件

还可以将REST API与更广泛的系统集成,其灵活性大于xmlrpc.PHP。由于 XML-RPC 已被 REST API 取代,因此您必须在网站上禁用 xmlrpc.PHP以避免出现问题。

为什么要禁用 XML-RPC?

您应该知道,xmlrpc.PHP 文件可能会向黑客暴露您的 wordpress 站点的启用 XML-RPC 的漏洞,因此您必须禁用它。

wordpress之外的通信中不再需要使用XML-RPC。如果您希望使您的网站尽可能安全,则应禁用它。

正是出于这个原因,wordpress将始终向后兼容。如果您负责与WordPress网站相关的wordpress插件主题,则应不断更新它们。

如果您的网站上启用了 XML-RPC,黑客可以将其用作对您的网站发起 DDoS 攻击的工具。他们可以使用 xmlrpc.PHP 模块生成许多指向您网站的 pingback,这可能会使服务器过载并导致网站关闭

此外,xmlrpc.PHP 还会在每个请求中发送身份验证信息,因此黑客可能能够拦截此信息并使用它来尝试访问您的网站。这种暴力攻击可以让黑客执行恶意代码删除代码,甚至损坏您的数据库

如何检查 XML-RPC 是否已启用?

请点击以下链接访问网站:wordpress XML-RPC Validation Service。

输入域名后,单击“检查”按钮。

检查 xmlrpc 是否在 wordpress 上启用

如果测试成功,现在将启用 XML-RPC,应立即将其关闭

使用 wordpress 插件禁用 XMLRPC

由于各种原因,网站所有者可能希望禁用 XMLRPC 功能。您可以使用各种插件(例如禁用 XML-RPC)来执行此操作。

使用 disable XML-RPC 插件禁用 XMLRPC

我们解释了如何使用disable XML-RPC 插件来禁用 XMLRPC 功能。请登录您的wordpress管理面板

1. 单击插件,然后单击添加插件

2. 在搜索框中输入“disable XML-RPC ”。之后安装禁用XML-RPC插件

3.激活插件,您就可以开始了。然后,XML-RPC 被禁用。

在这插件中,你可以找到一个XML-RPC验证器,可以用来检查XML-RPC是否已被禁用。如果已禁用 XML-RPC,则会出现一条失败消息。如果没有,您可以使用此插件禁用它。

使用插件配置 XML-RPC 和 REST API 激活

REST XML-RPC DATA CHECKER 插件允许您在网站上更细粒度地配置 REST API 和 XMLRPC.PHP

安装并激活插件后,单击设置中的“REST XML-RPC 数据检查器”选项卡后,单击 XML-RPC 选项卡。

通过该插件,您可以准确指定在您的网站上启用了 xmlrpc.PHP 的哪些功能。也可以完全禁用它。插件中还有一个选项卡,允许您控制 REST API(如果您选择这样做)。

在没有插件的情况下禁用 XMLRPC

如果您不想向您的网站添加其他插件,您可以使用过滤器或 .htaccess 文件禁用 xmlrpc.PHP。让我们一起考虑这两个选项。

通过过滤器禁用 xmlrpc.PHP

通过使用xmlrpc_enabled筛选器,禁用 xmlrpc.PHP非常容易。您应该添加功能并使其在您的网站上处于活动状态:

add_filter( 'xmlrpc_enabled','__return_false' );

可以将该函数添加主题函数文件中。.htaccess文件也可以使用cPanel或FTP进行编辑,具体取决于您是否使用Apache连接到托管服务提供商。

wordpress的__return_false函数返回布尔假条件。此筛选器仅阻止需要登录用户的操作。

必须从所有方法中取消注册它,以禁用 XMLRPC 服务器的所有操作。为了实现这一点,您需要挂接到xmlrpc_methods过滤器。

add_filter( 'xmlrpc_methods','betterstudio_remove_xmlrpc_methods' );

function 'betterstudio_remove_xmlrpc_methods( $methods ) {

$methods = array(); //empty the array

return $methods;

}

xmlrpc.PHP 文件在发出请求时创建一个类 wp_xmlrpc_server 的对象。在 wp-include 文件夹中有一个文件,其中包含一个名为方法属性

方法属性包括可通过 XML-RPC 请求访问的函数名称数组。

当该函数未包含在此数组中时,将返回错误消息。因此,如果您清空数组,则可以放心,您将无法使用任何函数

使用 .htaccess 禁用 XML-RPC

使用 .htaccess 禁用 XML-RPC 包括几个简单的步骤。这是禁用xmlrpc.PHP.htaccess的方法

您可以使用FTP或文件管理器导航到您网站的根目录。

您应该打开 .htaccess 文件

您需要将以下代码添加到 .htaccess 文件中:

# Block wordpress xmlrpc.PHP requests

<Files xmlrpc.PHP>

order deny,allow

deny from all

allow from xxx.xxx.xxx.xxx

</Files>

在 Apache/Nginx 中禁用 XMLRPC

在 Apache/Nginx 中禁用 XMLRPC 也可以是一个简单的过程。应将以下代码添加到 Apache 配置文件中以禁用 xmlrpc.PHP

< VirtualHost >

----------

< files xmlrpc.PHP >

order allow,deny

deny from all

< /files >

< /VirtualHost >

Nginx 配置文件中使用以下代码,可以禁用 xmlrpc.PHP

server {

-----------

location /xmlrpc.PHP {

deny all;

}

}

如何在不同的Linux发行版中搜索和查找XML-RPC攻击?

如果要在不同的 Linux 发行版中搜索 XML-RPC 攻击,可以使用以下命令阻止 xmlrpc.PHP 攻击:

安装了 Apache 的 CentOS 服务器:

# grep xmlrpc /var/logs/httpd/access.log

在 Ubuntu 上使用 Apache:

# grep xmlrpc /var/logs/apache2/access.log

对于基于 Nginx 的服务器:

# grep xmlrpc /var/logs/Nginx/access.log

对于基于 cPanel 的服务器:

# grep xmlrpc /home/username/logs/access.log

如果前面的命令是在受到攻击的WordPress网站上执行的,您将收到以下输出

POST /xmlrpc.PHP HTTP/1.0” 200 674 “-” “Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)

何时启用 XML-RPC.PHP 文件

在几种情况下,启用 XML-RPC 是有利的,以下是其中的一些情况:

如果 REST API 不可用,因为您的旧网站由于任何原因无法更新到版本 4.4 或更高版本。

程序无法访问您用于与其通信的网站上的 REST API。

为了集成一些需要XML-RPC才能工作的第三方应用程序。

但是,应该指出的是,上述批评都不是继续使用 XML-RPC 和 xmlrpc.PHP 漏洞利用的充分理由。

wordpress拥有它的唯一原因是它是向后兼容的;因此,只有当您使用的是过时的wordpress版本时,您才想使用它。

对于那些希望保持其网站最新并支持最新软件版本的人,应禁用 xmlrpc.PHP

wordpress中测试XML-RPC功能

此外,您可以使用wordpress测试选项来验证您的网站是否已成功禁止接收XML-RPC请求。

为此,您可以将wordpress移动应用程序下载到您的手机上。此应用程序有Android和iPhone版本可用。在您的设备上安装应用程序后,点击输入您现有的站点地址以开始使用它。

如果您看到此站点上禁用 XML-RPC 服务的错误消息,则已完成。这是一条wordpress xmlrpc.PHP 403禁止的消息。

结论

XML-RPC规范是在wordpress创建之前开发的,允许与外部应用程序和系统进行通信。此规范中存在多个安全漏洞,这可能使您的网站容易受到攻击。

REST API 允许您的站点与其他程序通信,从而可以毫无顾虑地禁用 xmlrpc.PHP。如果您希望提高网站的安全性,请按照上述步骤进行操作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐