今天打开以前在手机应用商店下载的WordPress客户端App,发现博客文章不能刷新,也不能发表文章,且提示“本站点禁用XML-RPC服务”。网上查询了一下这个XML-RPC到底是什么?
XML-RPC 是 WordPress 离线发布协议,如果你习惯使用WordPress手机App或者Windows Live Writer来撰写和发表文章,就必须启用该功能,否则建议您关闭,以免存在安全隐患,让垃圾留言和 Trackback Spam 等有可乘之机。在wordpress 3.5 之前的版本这个功能可以自己设定是否开启,但是在3.5版本以后是默认开启的,而且后台不在提供关闭设置选项。
那么在wordpress 3.5 以后的版本中如何关闭这个功能呢?可以通过两种方法实现。
方法一:在主题functions文件中添加一句:
- add_filter('xmlrpc_enabled', '__return_false');
之后,就关闭了XML-RPC功能。
仅关闭XML-RPC的pingback端口,而不影响第三方离线发表功能:
- add_filter( 'xmlrpc_methods', 'remove_xmlrpc_pingback_ping' );
- function remove_xmlrpc_pingback_ping( $methods ) {
- unset( $methods['pingback.ping'] );
- return $methods;
- }
方法二:安装Control XML-RPC publishing 插件,启用后默认已关闭,后台撰写设置页面有关闭和打开的选项。
注:知更鸟Begin主题基本设置中有禁用xmlrpc的选项,想打开的话,写文章的时候有“允许Pingback和Trackback”的选项框。