WordPress 技巧:禁用 XML-RPC 服务

在屏蔽之前,先简单链接一下关于 XML-RPC 的一些基础知识。什么是 XML-RPC 协议,它有什么用,为什么要禁用它。

什么是 XML-RPC 协议

XML-RPC 的全称是 XML Remote Procedure Call,即 XML 远程过程调用。它是一套允许运行在不同操作系统、不同环境的程序实现基于网络过程调用的规范和一系列的实现。

这种远程过程调用使用 http 作为传输协议,XML 作为传送信息的编码格式。一个 XML-RPC 消息就是一个请求体为 XML 的 http-post 请求,被调用的方法在服务器端执行并将执行结果以 XML 格式编码后返回。

一个 XML-RPC 协议包括两部分:

  1. RPC client,用来向 RPC 服务端调用方法,并接收方法的返回数据。
  2. RPC server,用于响应 RPC 客户端的请求,执行方法,并回送方法执行结果。

WordPress 对 XML-RPC 支持

WordPress 源代码中已经包含了完整的 RPC 服务端代码,它支持对文章,媒体,留言,分类,选项等等各方面数据的管理。

简单说,你只要了解 XML-RPC 协议,可以使用 XML-RPC 对你的 WordPress 博客的各个方面进行操作,也就是说可以使用 XML-RPC 做 WordPress 的客户端。

在 WordPress 3.5 版本之前,XML-RPC 服务一直默认是的被禁用的,因为它会造成安全漏洞,比如垃圾留言和 Trackback Spam 等。但是 WordPress 3.5 版本的发布将改变这个设置。因为 WordPress 开发团队的努力,这一安全隐患被修正,所以 WordPress 索性默认将其开启,并且不在后台提供关闭选。

并且 WordPress 更新到 3.5 之后,数据库中的 “enable_xmlrpc” 选项字段也将被删除,这样即使你在之前把 XML-RPC 设置为关闭,到了 WordPress 3.5 之后,也将开启。 🙁

禁用 XML-RPC 服务

如果我们只是在 WordPress 后台写写博客,也没有用到一些客户端来来发布文章,其实 XML-RPC 这个服务真的没有必要,本着不用就关闭的安全原则,我们可以在当前主题的 functions.php 文件添加如下一行代码来关闭它:


add_filter('xmlrpc_enabled', '__return_false');

该功能已经整合到 WPJAM Basic 插件中,现已免费提供下载,你只需要勾选下就可以关闭!

标签: WordPress 技巧

热门文章