当前位置:首页教程中心系统教程xmlrpc.php文件经常被扫描攻击,导致服务器负载过高怎么解决? – 网站教程

xmlrpc.php文件经常被扫描攻击,导致服务器负载过高怎么解决? – 网站教程

最近我们的网站遭受大量来自 xmlrpc.php 的 POST 请求,这导致服务器的 CPU 负载急剧上升,同时内存占用也高于平时水平,我们怀疑遭受了扫描攻击。这对WordPress站点的安全构成了威胁,因此我们必须高度重视。

XML-RPC 是用于WordPress与其他系统之间进行通信的协议规范。除了用于移动应用程序外,它还用于WordPress与其他博客平台之间的通信,以及支持引用和 pingback。然而,由于REST API已经集成到WordPress核心中,xmlrpc.php 文件现在已经不再被用于这种通信目的。

xmlrpc.php文件经常被扫描攻击,导致服务器负载过高怎么解决? – 网站教程

禁用 xmlrpc.php 方法

现在有必要在站点上禁用 xmlrpc.php,但许多站长可能不清楚如何完成这一操作。尽管最简单的方法是直接删除该文件,但由于WordPress经常更新,这会导致文件重新生成。 在这种情况下,我将分享五种禁用 xmlrpc.php 的方法供大家选择:

1. 使用插件禁用 xmlrpc.php

插件名称:Disable XML-RPC(By Philip Erb)
插件地址 https://wordpress.org/plugins/disable-xml-rpc/

2. 函数禁用 xmlrpc.php

在当前主题的 functions.php 文件中添加以下代码即可关闭 xmlrpc.php:

//通过 functions.php 函数文件禁用 xmlrpc.php
add_filter('xmlrpc_enabled', '__return_false');

3. 配置禁用

在WordPress根目录下编辑wp-config.php文件,在文件开头添加以下代码:

if(strpos($_SERVER['REQUEST_URI'], 'xmlrpc.php') !== false){
$protocol = $_SERVER['SERVER_PROTOCOL'] ?? '';
if(!in_array($protocol, ['HTTP/1.1', 'HTTP/2', 'HTTP/2.0', 'HTTP/3'], true)){
$protocol = 'HTTP/1.0';
}
header("$protocol 403 Forbidden", true, 403);
die;
}

4. Nginx/Apache 禁用 xmlrpc.php

Nginx 配置规则:

location ~* ^/xmlrpc.php$ {
return 403;
}

Apache 配置规则:
在 .htaccess 文件开头添加以下代码:

<Files xmlrpc.php>

Order Allow,Deny
Deny from all
</Files>

5. 云防火墙 CDN 禁止访问

这需要确保您的服务器IP得到保护,不被发现,然后可以配置云防火墙或CDN,阻止对xmlrpc.php的访问。这种方法可以进一步减少服务器性能开销,因为请求还未到达服务器就已被拦截。

xmlrpc.php文件经常被扫描攻击,导致服务器负载过高怎么解决? – 网站教程

另外,如果您使用宝塔的Nginx防火墙,也可以使用防火墙来阻止对xmlrpc.php的访问。但需要注意这样做可能会占用服务器资源。在确保IP不泄露的情况下,使用云端防火墙或CDN来阻止访问是最佳选择。

声明:本文由沐夏oo发布,本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
系统教程

公共DNS服务器IP地址

2025-5-19 12:51:57

系统教程

WPS怎么优化?解决占用C盘太大,篡改图片查看,右键菜单乱

2025-5-29 20:56:04

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索