WordPress 禁用 XML-RPC 服务

XML-RPC 是什么协议

XML-RPC是支持WordPress与其他系统之间通信的规范,全称是 XML Remote Procedure Call。它通过使用HTTP作为传输机制和XML作为编码机制来标准化这些通信来实现此目的。

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

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

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

XML-RPC早于WordPress:它出现在b2博客软件中,该软件于2003年创建了WordPress。该系统的代码存储在站点根目录下的xmlrpc.php文件中。即使XML-RPC在很大程度上已经过时,它仍然存在。

在WordPress的早期版本中,默认情况下已关闭XML-RPC。但是自v3.5版本开始,默认情况下又启用它。这样做的主要原因是允许WordPress移动应用程序与WordPress安装进行对话通讯。

 

 

如果您在v3.5版本之前使用WordPress移动应用程序,可能会记得必须在站点上启用XML-RPC才能使用该应用程序发布内容。这是因为该应用程序本身未运行WordPress。相反,它是一个单独的应用程序,通过xmlrpc.php与WordPress网站进行通信。

但是XML-RPC不仅用于移动应用程序:它还用于允许WordPress和其他博客平台之间进行通信,还支持引用和pingback,并为Jetpack插件提供支持,该插件可链接自托管的WordPress网站至著名的WordPress.com平台。

但是由于REST API已集成到WordPress核心中,因此xmlrpc.php文件不再用于此通信。相反,REST API用于与WordPress移动应用程序,桌面客户端,其他博客平台,WordPress.com(用于Jetpack插件)以及其他系统和服务进行通信。REST API-可与之交互的系统范围比xmlrpc.php所允许的大得多。此外,拥有更强的灵活性。

既然REST API取代了XML-RPC,因此我们应该在站点上禁用xmlrpc.php。

维基介绍:https://zh.wikipedia.org/zh-hans/XML-RPC

禁用 XML-RPC 服务

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

add_filter('xmlrpc_enabled', '__return_false');
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。