xmlrpc.php是什么?xmlrpc.php是一个允许远程应用程序和服务通过XML-RPC 协议与WordPress网站交互的核心文件,因为该文件的不安全性和REST API广泛的应用性,在外贸建站时,通常会借助插件或者是.htacess文件/Nginx配置文件将xmlrpc.php在WordPress网站中禁用。
一、xmlrpc.php是什么
XML-RPC是支持WordPress与其他系统之间通信的规范。它通过使用HTTP作为传输机制和XML作为编码机制来标准化这些通信来实现此目的。
在WordPress的早期版本中,默认情况下已关闭XML-RPC。但是自v3.5版本开始,默认情况下又启用它。这样做的主要原因是允许WordPress移动应用程序与WordPress安装进行对话通讯。
如果在v3.5版本之前使用WordPress移动应用程序,可能会记得必须在站点上启用XML-RPC才能使用该应用程序发布内容。这是因为该应用程序本身未运行WordPress。相反它是一个单独的应用程序,通过xmlrpc.php与WordPress网站进行通信。
但是XML-RPC不仅用于移动应用程序,它还允许WordPress和其他博客平台之间进行通信,还支持引用pingback,并为Jetpack插件提供支持,该插件可链接自托管的WordPress独立站至著名的WordPress.com平台。
但是由于REST API已集成到WordPress核心中,因此xmlrpc.php文件不再用于此通信。相反REST API用于与WordPress移动应用程序,桌面客户端,其他博客平台,WordPress.com(用于Jetpack插件)以及其他系统和服务进行通信。REST API-可与之交互的系统范围比xmlrpc.php所允许的大得多。此外拥有更强的灵活性。
既然REST API取代了XML-RPC,因此应该在站点上禁用xmlrpc.php。
二、如何检测WordPress中的xmlrpc.php
有几种方法可以验证WordPress网站上的xmlrpc.php是否处于活动状态。
1、可以直接从浏览器检查,访问 https://yourdomain.com/xmlrpc.php 。
- 如果看到 “XML-RPC 服务器只接受 POST 请求”,说明它已启用。
- 如果出现 403 或 404 错误,则表示已禁用或阻止。
2、要检查站点上是否启用了xmlrpc.php,请使用 WordPress XML-RPC 验证服务。这将检查站点并告知用户自己的网站是否启用了xmlrpc.php。
输入一个测试网站,检测网站的结果如下:
这表明xmlrpc.php在该测试网站上已被禁用。
3、命令行(高级),可以执行下图所示的 cURL 命令:
curl -d "<!--?xml version='1.0'?-->system.listMethods" https://yourdomain.com/xmlrpc.php
如果收到如下所示的结构化 XML 响应,则表示已启用。
三、如何在WordPress中禁用xmlrpc.php
1、插件
安装插件以禁用xmlrpc.php是最简单的方法,可以通过安装Disable XML-RPC插件来实现。使用方法如下:
对一个启用了xmlrpc.php的网站进行XML-RPC检测,会看到下面的结果:
通过WordPress仪表盘的“ 插件”界面安装插件,然后将其启用。无需执行其他任何操作,启用插件即可禁用XML-RPC。再次对该测试网站进行检查,则会得到不同的结果:
2、不使用插件
如果不想在站点上安装这类WordPress插件,则可以通过WordPress过滤器,或.htaccess文件、Nginx配置文件添加一些代码来禁用xmlrpc.php 。
(1)过滤器禁用xmlrpc.php
使用xmlrpc_enabled过滤器禁用xmlrpc.php,将此功能添加到其中一个插件并启用即可:
add_filter( 'xmlrpc_enabled', '__return_false' );
当然也可以将其添加到主题functions文件中,但是编写插件是一种更好的做法。
(2)通过.htacess文件或者Nginx配置文件禁用xmlrpc.php
另一种选择与编辑.htaccess文件或者Nginx配置文件来禁用XML-RPC功能。如果服务器使用的是Apache,则网站根目录找到.htaccess文件中,添加以下代码:
<Files xmlrpc.php> Order Allow,Deny Deny from all </Files>
如果服务器使用的是Nginx,将以下代码添加到Nginx.config文件中:
location ~* ^/xmlrpc.php$ { return 403; }
本站也为外贸建站的商家提供WordPress、WordPress+WooCommerce和Shopify独立站搭建和运营(谷歌SEO优化、SEM托管、海外社媒运营优化、智能化邮件营销)的一站式服务,最低价格仅需三千元左右。现在下单的顾客可享受买一赠三(域名、服务器和SSL证书)的购买优惠,还为Shopify建站的商家提供一年的免费技术支持。
推荐阅读:
《将Google Analytics添加到WooCommerce简单操作指南》