我对Wordpress相当陌生,最近我注意到有大量的流量发生在以下几个方面:
162.242.170.222 - - [01/Aug/2014:08:18:54 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4859
162.242.170.222 - - [01/Aug/2014:08:19:01 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4859
162.242.170.222 - - [01/Aug/2014:08:19:01 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4859
162.242.170.222 - - [01/Aug/2014:08:19:02 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4859
162.242.170.222 - - [01/Aug/2014:08:19:11 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4861
162.242.170.222 - - [01/Aug/2014:08:19:13 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4861
162.242.170.222 - - [01/Aug/2014:08:19:18 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4861我阻止了IP地址,这是一个临时解决方案。阻止这些请求是否有永久的解决方案,特别是如果我不需要的话
发布于 2014-08-01 13:43:16
有这样的插件:例如http://wordpress.org/plugins/disable-xml-rpc/
你也可以自己写一个过滤器。
add_filter('xmlrpc_enabled', '__return_false');您可以简单地添加以下代码--您的主题functions.php (位于wp/themes/ You _ theme中)。
但是,建议您创建一个子主题(http://codex.wordpress.org/Theme_开发),以便您的修改不会在更新主题时消失。
或者,您可以创建您的插件(http://codex.wordpress.org/Writing_一个_插件),您将把您的所有WordPress调整。
为了更好地保护,我还要补充以下几点:
/**
* Secure WordPress by removing version
*/
remove_action('wp_head', 'wp_generator');
/**
* Secure WordPress by hiding login errors
*/
function hide_login_errors($errors) { return 'login error'; }
add_filter('login_errors', 'hide_login_errors', 10, 1);发布于 2014-08-01 17:55:43
如果您的服务器是Apache,您甚至可以在用WordPress中的一行访问.htaccess之前阻止访问:
Redirect 403 /xmlrpc.php您可以添加另一行以保持响应的简短:
ErrorDocument 403 "no"这将发送一个非常小的响应(两个字节加上HTTP头),它将节省您的资源以获得更好的流量。
发布于 2014-09-09 10:53:46
另一种方法是将其放入.htaccess文件中:
<Files "xmlrpc.php">
order allow,deny
deny from all
errordocument 403 /noaccess.html
errordocument 404 /noaccess.html
</Files>https://wordpress.stackexchange.com/questions/156522
复制相似问题