修复 WordPress 最大安全隐患,防止 xmlrpc.php 被扫描!
在 WPJAM Basic 的微信群里,经常有小伙伴说,在服务器的访问记录里面看到 WordPress 的 xmlrpc.php 被大量请求,比如下图:
既然存在这些问题,那么最好关闭 WordPress 的 XML-RPC 服务,群里面有些小伙伴建议直接删除 xmlrpc.php 文件就好了,这样虽然可行,但是下次 WordPress 升级之后删除的 xmlrpc.php 文件又会出现,不太建议这么做。
最快的方法,只需在当前主题的 functions.php 文件添加下面这行代码就能关闭它:
add_filter('xmlrpc_enabled', '__return_false');
WPJAM Basic 插件的「优化设置」也有该选项(下图圈起来的那个),直接勾选即可:
- Apache 可以通过在 .htaccess 文件前面添加以下代码:
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>
-
nginx 服务器可以添加下面的规则:
location ~* ^/xmlrpc.php$ { return 403; }
-
如果以上两个方式都不好用,还可以在 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; }
正文完
评论区