WordPress 的 xmlrpc.php 是做什么的,如何禁用它?

热门:
升级您的服务器配置! 申请 AVA 并使用 立减 15%
使用优惠码:

如何在 WordPress 中禁用 xmlrpc.php

WordPress 中的

xmlrpc.php

文件如果不需要,可能会带来安全风险,但通过正确的方法可以加以管理。本指南将解释它的用途、为什么它会成为一个问题,以及如何禁用它以在保持性能的同时保护您的网站。通过实际示例和技巧,您将学习如何有效地保护您的 WordPress 网站。

什么是 xmlrpc.php?

xmlrpc.php 文件是 WordPress 的核心组件,它使您的 WordPress 网站与外部应用程序之间能够进行远程通信。它使用 XML-RPC 协议发送数据,从而支持以下功能:

  • 通过 WordPress 移动应用或外部博客工具远程发布内容

  • Trackbacks 和 pingbacks

  • 依赖远程访问的 Jetpack 和其他插件功能

在早期版本的 WordPress 中(REST API 之前),xmlrpc.php 对于启用远程操作至关重要。然而,REST API 此后已成为现代且更安全的替代方案。

为什么 xmlrpc.php 是一个安全隐患?

尽管 xmlrpc.php 有正当用途,但它经常被用于恶意活动,尤其是在未正确保护的情况下。常见威胁包括:

  • 暴力破解攻击:黑客可以利用它在一次请求中尝试成千上万种用户名-密码组合。

  • DDoS 攻击:该文件可被滥用于从您的网站向其他网站发送 pingbacks,从而参与分布式拒绝服务攻击。

  • 远程代码执行漏洞:较旧或配置不当的 WordPress 版本可能面临风险。

如果您不使用任何依赖 xmlrpc.php 的服务或插件,通常建议将其禁用。

如何禁用 xmlrpc.php

1. 使用插件

禁用 xmlrpc.php 的最简单方法是使用如下安全插件:

  • Wordfence Security

  • Disable XML-RPC

  • All In One WP Security & Firewall

这些插件提供一键切换功能,可禁用对该文件的访问。

2. 通过 .htaccess 禁用

如果您使用的是 Apache 服务器,可以通过在根目录的 .htaccess 文件中添加以下规则来阻止对 xmlrpc.php 的访问:

<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>

3. 使用 Nginx

对于 Nginx 服务器,请将以下内容添加到您的配置文件中:

location = /xmlrpc.php {
deny all;
access_log off;
log_not_found off;
}

4. 通过 functions.php 禁用(有限)

您还可以通过将以下内容添加到主题的 functions.php 中来禁用某些 xmlrpc 方法:

add_filter('xmlrpc_enabled', '__return_false');

注意:这不会阻止对该文件的访问,只会禁用其功能。

什么时候应该保持启用?

如果出现以下情况,您可能需要保持 xmlrpc.php 启用:

  • 您使用 WordPress 移动应用进行发布

  • 您依赖 Jetpack 或其他远程发布工具

  • 您的网站与需要 XML-RPC 的旧系统或应用程序集成

在这些情况下,请务必使用双因素身份验证、强密码和速率限制等安全措施。

其他提示

  • 先备份:在修改

    .htaccess

    f

    unctions.php

    等文件之前,务必先备份您的网站

  • 测试功能:禁用后,测试 Jetpack 或移动发布等功能,以避免中断

  • 监控攻击:使用 Wordfence 等插件跟踪针对

    xmlrpc.php

    的失败登录尝试

  • REST API 替代方案:迁移到 WordPress REST API 以进行现代集成,减少对

    xmlrpc.php

    的依赖

结论

如果您不需要其远程访问功能,禁用

xmlrpc.php

是保护您的 WordPress 网站的明智之举。通过使用插件、

.htaccess

、Nginx 规则或

functions.php

,您可以在保持网站快速可靠的同时阻止漏洞。所提供的示例和提示可确保您能够自信地实施和测试这些更改,在不牺牲功能的情况下增强安全性。