问题描述
我有几个托管的 wordpress 博客,我一直在试图访问他们,他们真的很慢。我看了我的服务器日志,我发现这个
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:28 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:28 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:28 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:28 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:29 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:29 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:29 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:29 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:31 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:31 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:31 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
我从 GoogleBot 到几个站点的文件/xmlrpc.php 每秒可以获得〜 10 次点击,这似乎正在放慢服务器的速度。我在跑步
tail -f
在日志文件上,可以看到这些请求继续。有人知道为什么会发生这种情况,或者你可以做什么来阻止它?
最佳解决方案
如果是我,我将使用 iptables
阻止 IP,如果您具有这种服务器级别的访问权限。
您也可以禁用 xmlrpc 。不幸的是,由于 3.5,禁用该功能的管理屏幕选项已被删除。一行代码应该禁用它:add_filter( 'xmlrpc_enabled', '__return_false' );
这可能会节省一些开销的请求,虽然它不会消除所有这些。
次佳解决方案
“Googlebot” 没有理由访问 xmlrpc.php 您可以将其添加到 xmlrpc.php 的顶部
// Block fake Googlebot
if ( strpos($_SERVER['HTTP_USER_AGENT'], "Googlebot") === true ) { exit(); }
我猜这是一个核心的 WordPress 文件。所以这样更新可能会令人烦恼。如果 Automattic 使用 Akismet 从所有 WP 脚本到处黑名单这些 IP 将会很好。
更新:在 DDoS 开始对我的服务器征税后,我最终删除了 chmod 0 xmlrpc.php
的权限 (见我的评论) 。换句话说,这个有条件的 PHP 代码可能不会阻止攻击者临时禁用您的博客。在任何情况下,他们通常放弃相当快。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。