共计 2031 个字符,预计需要花费 6 分钟才能阅读完成。
什么是 XML-RPC?WordPress 中的 Xmlrpc 如何禁用
XML-RPC 是 WordPress 等 CMS 一直具有的内置功能,可让您与 WordPress 站点进行远程交互。假如您需要访问网站且身边没有电脑,那么就可以使用一个名为 xmlrpc.php 的文件来解决这个问题,但是近年来,该文件更多的是坏处,损害您的站点,而不是解决问题的。
每个 WordPress 安装包都有 xmlrpc.php 文件。通过此文件的 XML-RPC 功能,WordPress 可以接收和发送 XML-RPC 信号并与外部程序通信。
什么是 XML-RPC
XML-RPC 是一种远程远程过程调用协议, 是用于通过网络在计算机之间交换信息的最简单的基于 XML 的协议。XML-RPC 允许运行在不同操作系统和不同环境中的两个应用程序通过 Web(通过 HTTP) 相互通信。
许多 Web 应用程序都使用 XML-RPC,例如 WordPress 主题建站,Drupal 等。
启用 xmlrpc.php 的核心功能是允许您通过智能手机连接到您的站点,实现其他站点的引用和 pingback 以及与 Jetpack 插件的某些功能。
为什么创建 Xmlrpc.php 以及如何使用它?
XML-RPC 的实现可以追溯到 WordPress 的早期,早在 Internet 初期,当连接速度非常慢,编写和发布到 Web 的过程就变得相当困难。所以当时的多数人不是在浏览器中编写内容,而是离线编写内容,然后将其内容复制并粘贴到网络上。但是,此过程仍不理想。
早期的 XML-RPC:当时给出的解决方案是创建脱离博客的客户端,在其中编写内容,然后连接到博客进行发布。该连接是通过 XML-RPC 完成的。有了 XML-RPC 的基本框架,早期的应用程序使用了相同的连接,使人们可以从其他设备登录 WordPress 网站。
如今的 XML-RPC:在 2008 年的 WordPress 2.6 版中,有一个启用或禁用 XML-RPC 的选项。但是,随着 WordPress iPhone 应用程序的发布,默认情况下启用了 XML-RPC 支持,并且没有关闭该设置的选项。该文件的功能已大大降低,作用不像以前那样大。
XML-RPC 的未来 :借助新的 WordPress API,XML-RPC 在未来可被完全淘汰,但新的 API 并不是完美的,也为 xmlrpc.php 解决的问题提供安全的解决方案。
如何在 WordPress 中禁用 XML-RPC
实际上,xmlrpc.php 会带来安全风险。可能使站点容易受到外部攻击。每次对 XML-RPC 进行身份验证时,都需要提供用户名和密码,这对于安全性而言不是很重要。
通过禁用 XML-RPC,您可以关闭潜在的风险。
首先是使用暴力攻击进入您的网站。攻击者将尝试通过使用各种用户名和密码组合使用 xmlrpc.php 访问您的站点。
第二个是通过 DDoS 攻击使站点脱机。WordPress 中的 pingback 功能为黑客提供了近乎无休止的 IP 地址,以分发 DDoS 攻击。
可使用以下两种方法之停止 xmlrpc.php。
方法 1、使用插件禁用
在 WordPress 网站上禁用 XML-RPC 并非易事。
只需 从 WordPress 仪表板中导航至“插件》安装插件”。搜索“Disable XML-RPC”并安装如下图所示的插件:
该插件将自动插入必要的代码以关闭 XML-RPC。
某些 wordpress 插件可能会使用 XML-RPC 的某些部分,因此,完全禁用它可能会导致插件冲突或您网站的某些元素不再起作用。
如果您只想关闭 XML-RPC 的某些元素,但仍允许某些插件和功能正常工作,请改用以下插件:
Stop XML-RPC Attack。该插件将停止所有 XML-RPC 攻击。
Control XML-RPC Publishing。可以保留控制权并使用 xmlrpc.php 提供的远程发布选项。
方法 2、手动禁用 Xmlrpc.php
使用.htaccess 禁用 XML-RPC
要使用.htaccess 禁用 WordPress 中的 xmlrpc.php 功能,转到 WordPress 网站的根目录,打开.htaccess 文件并添加以下代码:
# Block WordPress xmlrpc.php requests
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
如果您要允许访问 xmlrpc.php 的特定 IP 地址,则可以在上面的代码段中替换 123.123.123.123. 否则,可以完全删除此行。
注意:如果您的网站上有.htaccess 文件,但您看不到它,请访问设置并单击“显示隐藏的文件”。
现在,除了您选择的特定用户外,所有人都将无法远程使用 xmlrpc.php。
总结
总体而言,XML-RPC 是解决由于远程发布到 WordPress 网站而引起的某些问题的解决方案。但是此功能带来了一些安全漏洞,最终对某些 WordPress 网站所有者造成了相当大的损害。
为了确保您的网站安全,最好完全禁用 xmlrpc.php。除非您需要远程发布。