WordPress安全防护之禁用xmlrpc.php避免DDOS攻击

2022年6月11日18:00:00 发表评论

最近一段时间经常有朋友跟我反应博客访问速度较慢,我自己也有所感觉,在宝塔面板查看云服务器资源,发现内存使用率和CPU使用率都比较高,尤其是内存几乎达到了80%。通过查看服务器日志发现网站存在大量的垃圾流量访问,很多是访问xmlrpc.php的,xmlrpc.php是 WordPress 为手机等客户端提供接口的一个文件,可被用来DDOS攻击导致占用资源过高。xmlrpc.php攻击可以绕过使用用户名登陆限制,进行暴力破解。

那么我们可以通过禁用xmlrpc.php,从而阻止这些无效访问,有以下几种方法:

WordPress安全防护之禁用xmlrpc.php避免DDOS攻击

一、修改主题functions.php文件

1、在文件内添加以下代码:

  1. //禁用XML-RPC接口
  2. add_filter('xmlrpc_enabled','__return_false');

2、还可以用代码转向任意网址:

  1. add_action('login_enqueue_scripts','login_protection');function login_protection(){if($_GET['root']!='zhuanxiang')header('Location: http://任意其他网站或者网站首页/');}

然后我们自己登录时需要用:网站域名/wp-login.php?root=zhuanxiang,这个网址访问后台。

3、只关闭XML-RPC的pingback 端口

如果你还是用使用第三方客户端来管理Wordpress文章,那么可以只关闭XML-RPC的pingback 端口

  1. //禁用XML-RPC的pingback接口
  2. add_filter('xmlrpc_methods','remove_xmlrpc_pingback_ping');function remove_xmlrpc_pingback_ping( $methods ){unset( $methods['pingback.ping']);return $methods;}

以上代码放到主题的functions.php文件即可。

二、修改.htaccess文件

1、加入以下代码:

  1. # protect xmlrpc<Files xmlrpc.php>OrderDeny,AllowDenyfrom allFiles>

2、还可以让访问转向其他网址:

  1. # protect xmlrpc<IfModule mod_alias.c>Redirect301/xmlrpc.php http://baidu.comIfModule>

三、修改服务器配置

1、nginx配置禁止访问该文件:

  1. location ~*/xmlrpc.php {deny all;}

2、Apache配置禁止访问该文件:

  1. mod_alias.c>Redirect 301 /xmlrpc.php http://baidu.com

写在最后:

通过以上几种方法都可以实现禁止xmlrpc.php恶意访问的目的,具体使用哪一种各位可以自己选择。

Tips:

掘金网建议新手小白们不用太纠结有关技术层面的东西,这些技术自己如果实在无力拿下的话,完全可以付费来给你搞定的,掘金网目前就提供这样的付费技术支持服务《去付费》,花钱不多可以买个保障和安全,有需要的可以联系掘金网。

历史上的今天:

掘金网
  • 版权声明:本站原创文章,转载请保留出处和链接!
  • 本文链接:http://jjsoho.com/xmlrpc/ 网赚有风险,投资需谨慎!