各位使用 WordPress 小伙伴,如果遇到经常被黑客扫描到 xmlrcp.php 文件,说明你安全措施做的不到位,众所周知 WordPress 提供该接口功能,主要是为了标准化不同系统之间的通信的规范,让外部系统可以方便进行数据通信,让WordPress 不再是信息孤岛,但是呢?使用的这个功能是有一定缺陷的,一些黑客会利用该功能进行爆破后台,从而入侵后台为所欲为!
下面是WordPress 彻底屏蔽 XML-RPC方法,请大家学习和参考。
一、方法【在当前主题中关闭】
最简单粗暴的方法,只需在你使用的当前主题下的 functions.php
文件添加下面这一行代码就能关闭XML-RPC:
add_filter('xmlrpc_enabled', '__return_false');
二、方法【在 nginx 服务器配置】*
此方法更加安全
如果你使用宝塔面板,可以在nginx配置项中加入这段代码
location ~* ^/xmlrpc.php$ {
return 403;
}
三、方法【 wp-config.php 文件配置】
在 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;
}
而现在取而代之的是 WordPress REST API ,这个能力,更加安全并且也能非常好的与外部系统进行数据通信,从而让WordPress 的能力增强,应用场景更加广泛多样!