用Wordpres程序的朋友应该都知道xmlrpc.php文件,它是我们客户端远程管理编辑网站、小程序等需使用的接口文件,但很多不良人士会利用xmlrpc.php文件来绕过Wordpress后台的登录错误限制进行爆破,消耗主机资源,大家可以用以下方法解决:
方法一:屏蔽 XML-RPC (pingback)的功能
在functions.php中添加。PS:很多主题已集成此代码。
add_filter('xmlrpc_enabled', '__return_false');
方法二:删除或清空xmlrpc.php文件内容
推荐清空文件内容,不建议删除xmlrpc.php文件,因为可能造成莫名其妙的错误。
方法三:利用配置文件直接拒绝访问或跳转
1、Nginx
location ~* /xmlrpc.php { deny all; }
或者跳转
location ~* /xmlrpc.php { proxy_pass https://www.baidu.com; }
2、apache
# protect xmlrpc <Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
或者跳转
# protect xmlrpc <IfModule mod_alias.c> Redirect 301 /xmlrpc.php https://www.baidu.com </IfModule>
方法四:利用宝塔防火墙解决此问题
但是像我这种需要这个接口用手机客户端的人来说,实在不妥,可以利用宝塔防火墙解决此问题。
首先,将/xmlrpc.php加入URL黑名单拒绝访问。PS:还有/wp-json也可以加进去。
利用宝塔规则优先级:UA白名单> UA黑名单> URL关键词拦截> IP白名单 > IP黑名单 > URL白名单 > URL黑名单 > CC防御 > 禁止境外IP访问 >User-Agent > URI过滤 > URL参数 > Cookie > POST
其次,将自己设备UA加入白名单即可,自己设备具体UA可以在网站访问日志里查看。
这样一来,除了特定UA,其他访问都是403。
四川省成都市 4F
我说怎么这么眼熟
陇上小江南
2broear 那里眼熟
四川省
大熊 这个文件,之前公司那台机子经常爆内存,我记得有次就排查出频繁访问这个文件
广东省广州市 3F
每次我安装完WordPress第一件事,就是把它删了
陇上小江南
暮城留风 没办法,我app还得用这个接口!!!!
江西省九江市 2F
我前段时间一直被ddos,看了下访问日志,xmlrpc.php访问确实挺多
陇上小江南
青山 不用的话,就干掉它吧!
山东省威海市 1F
大熊版主提供的方法很好用。