建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

屏蔽 XML-RPC 服务,提高 WordPress 安全性(WordPress 3.5禁用XML-RPC)

GG网络技术分享 2025-03-18 16:12 0


屏蔽 XML-RPC 服务,提高 WordPress 安全性

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

什么是 XML-RPC 协议

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

简单说 RPC 就是通过像本地服务一样远程调用另外一台服务器上的服务来完成需求,XML-RPC 就是使用 XML 作为编码格式的 RPC。

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

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

  • RPC client,用来向 RPC 服务端调用方法,并接收方法的返回数据。
  • 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 之后,也将开启。

屏蔽 WordPress XML-RPC 服务

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

add_filter('xmlrpc_enabled', '__return_false');

add_filter('xmlrpc_methods', '__return_empty_array');

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

WordPress 3.5禁用XML-RPC

WordPress 3.5 开放了XML-RPC功能。

什么是XML-RPC:

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

有些用户习惯用其他的第三方软件发布WordPress文章,比如WLW(Windows Live Write),菊子曰,WordPress智能手机客户端等,都需要用到这个功能,WordPress 3.5默认开放这个功能,是WordPress向移动互联网做出的一个调整。

如果觉得这个功能用不到,可以禁用掉,方法也非常简单,添加代码:

add_filter(‘xmlrpc_enabled’, ‘__return_false’);

在wp-config.php中,可以放在最后一行,然后保存上传覆盖即可。

禁用XML-RPC功能,有WordPress爱好者写成了一个插件,插件地址:https://gist.github.com/3800468

标签:

提交需求或反馈

Demand feedback