前言
XML-RPC的全称是XML Remote Procedure Call,即XML远程方法调用。它是WordPress离线发布协议,如果你习惯使用Windows Live Writer来撰写和发表文章,就必须启用该功能,否则建议您关闭,以免存在安全隐患,让垃圾留言和Trackback Spam等有可乘之机。
那么我们应该如何关闭这个功能或解决被他人利用xmlrpc.php文件攻击呢?
方法一:关闭XML-RPC(pingback)功能
我们只需要在主题functions文件中添加以下代码即可关闭XML-RPC功能:
1 |
add_filter( 'xmlrpc_enabled', '__return_false' ); |
如果仅仅想关闭XML-RPC的pingback端口,而不影响第三方离线发表功能,请在functions文件中添加以下代码:
1 2 3 4 5 |
function remove_xmlrpc_pingback_ping( $methods ) { unset( $methods['pingback.ping'] ); return $methods; } add_filter( 'xmlrpc_methods', 'remove_xmlrpc_pingback_ping' ); |
方法二:通过.htaccess禁止访问xmlrpc.php文件
1 2 3 4 |
# protect xmlrpc Order Deny,Allow Deny from all |
方法三:通过.htaccess文件实现301重定向
1 2 3 |
# protect xmlrpc Redirect 301 /xmlrpc.php http://www.desenpast.com/ |
这个301重定向的目的就是使用户访问xmlrpc.php文件时自动跳转到其他页面,以降低自身网站的负担。