
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress XML-RPC限制
WP集市
2025-09-08
【WordPress教程】
440人已围观
-
咱们先唠唠WordPress里那个XML-RPC接口吧。这玩意儿说白了就是个远程操控通道——比如你用手机APP发文章、第三方工具管理评论,背后基本都是它在干活。但问题来了:黑客也超爱这接口!他们能拿它疯狂尝试密码爆破,甚至发起DDoS攻击。去年还有个漏洞能让攻击者用system.multicall方法一次性执行几百条指令,直接把服务器搞趴下(想象一下用一根吸管瞬间抽干游泳池)。
-
所以得给它上点枷锁。最简单粗暴的方法就是直接关掉它,在wp-config.php里加这行:
define('XMLRPC_ENABLED', false);
但这样干的话,手机APP和Jetpack插件就直接罢工了。除非你这站点根本不用远程管理。
-
更聪明的做法是像交警查车那样搞流量管制。比如限制每分钟最多20次XML-RPC请求,在.htaccess里加这段:
<Files xmlrpc.php> <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_METHOD} POST RewriteCond %{HTTP:X-Forwarded-For} !^123\.456\.789\.0 RewriteRule ^ - [R=503,L,NS] </IfModule> </Files>
这段代码会把所有POST请求直接返回503错误——等等这样搞太绝对了!应该用漏桶算法慢慢放行才对。
-
其实WordPress自带了个认证钩子,专门处理XML-RPC登录爆破。我们可以给登录失败加个冷却时间,在functions.php里写:
add_filter('xmlrpc_login_error', function($error) { sleep(rand(2,5)); // 失败后强制等2-5秒 return new IXR_Error(500, '错了老弟,缓缓再试吧'); });
这样黑客每次试密码都得等上几秒,估计能把他急得摔键盘。
-
说到最后,其实最新版WordPress已经聪明多了。它现在会主动拒绝明显恶意的multicall请求,就像超市收银员看到有人试图用复印的钞票时会自动报警。但最好还是装个像Wordfence这样的安全插件,它能直接图形化显示谁在攻击XML-RPC:
# 看日志里哪些IP在疯狂碰运气 grep "xmlrpc" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr
-
突然想到个骚操作:不如把xmlrpc.php改造成蜜罐?谁访问就往他IP里注入一段挖矿代码——开玩笑的这违法!但确实可以重定向到猫猫图片网站,让黑客懵逼:
if (strpos($_SERVER['REQUEST_URI'], 'xmlrpc') !== false) { header('Location: https://http.cat/418'); exit; }
总之XML-RPC就像家里后门,方便但得加把好锁。要么彻底封死,要么装上监控,千万别让它变成黑客的旋转门!
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。
上一篇:WordPress文件编辑禁用

热门文章
