修复xmlrpc.php被疯狂扫描破解问题,使wordpress更安全

2024-03-15 建站知识 0

什么是 xmlrpc.php?

要说WordPress的xmlrpc.php,首先要说XML-RPC,XML-RPC是一种远程过程调用协议,用于在客户端和服务器之间进行通信。
xmlrpc.php 是 WordPress 用于实现 XML-RPC 协议的入口点,它允许远程客户端通过 XML-RPC 协议与你的 WordPress 网站进行通信,可以使用一些XML-RPC客户端对 WordPress 操作,如发布文章、编辑内容、管理评论等等。

为什么可能要屏蔽 xmlrpc.php?

尽管 xmlrpc.php 提供了一些方便的功能,但它也可能成为潜在的安全风险。一些恶意方可能尝试利用 XML-RPC 漏洞进行攻击,例如进行暴力破解登录、Pingbacks进行DDoS攻击等。

如何屏蔽 xmlrpc.php?

如果你只在 WordPress 的后台写文章,完全可以关闭 XML-RPC 功能,以增强 WordPress 网站的安全性,你可以通过以下方法屏蔽 xmlrpc.php:

方法1、通过主题目录下的functions.php禁用

该方法比较简单,直接在wordpress后台或者远程连接修改当地使用的wordpress主题目录下的functions.php文件,在最后?>的前面加上一行:
add_filter('xmlrpc_enabled', '__return_false');
保存即可。

方法2、禁止xmlrpc.php访问

2.1 Nginx
修改对应的虚拟主机配置文件,在里面添加上:
location = /xmlrpc.php {
return 444;
access_log off;
log_not_found off;
}

最后重启Nginx使其生效。

2.2 Apache
修改网站目录下面的 .htaccess 文件,添加如下内容:

Order Deny,Allow
Deny from all

方法1和方法2可以同时使用,另外如果使用了CDN,一般CDN上访问控制之类的设置里面也可以进行屏蔽。