WordPress 中的 XML-RPC 和 AtomPub
什么是 XML-RPC 服务?
XML-RPC 的全称是 XML Remote Procedure Call,即 XML 远程方法调用。它是一套允许运行在不同操作系统、不同环境的程序实现基于 Internet 过程调用的规范和一系列的实现。这种远程过程调用使用 http 作为传输协议,XML 作为传送信息的编码格式。Xml-Rpc 的定义尽可能的保持了简单,但同时能够传送、处理、返回复杂的数据结构。
什么是 AtomPub?
AtomPub 和 SOAP/WSDL 两者都提供给你编写服务以供他人使用的能力,但 AtomPub 采取了一种完全不同的途径来帮助用户实现他们的服务。它实现了一些能令用户更自由的约束。因为数据受限于统一格式,每个条目都包括 title、entry、id 和 content/summary,这使得我能从一条 Atom feed 中得到有用的信息,而不管这条 feed 来自哪一类型的应用。
对我来说,解析日历数据就像我解析一个雇员目录或者是阅读网络日志一样的简单。我不需要任何特殊的工具或者更多的信息,仅仅只需了解这是基于 AtomPub 的服务。但从另一方面,这种约束也限制了 AtomPub 的适用性,它绝不是一个万能的协议。很多信息用 AtomPub 来建模会显得过于笨拙。事实上,当你的数据是有时序的列表时,AtomPub 是其自然的选择。
在 WordPress 3.5 以前 XML-RPC 是默认被关闭的,因为他被认为是一个安全漏洞(如垃圾留言与引用)。
相当多的改变,因为我们推出了按默认的 XML-RPC。 他们的代码有所改善,并且它不再被视为,当涉及到 API 的发展,得益于大型团队真棒贡献者的工作。 安全性比核心的其余部分没有更大的关注。
不再有一个令人信服的理由在默认情况下禁用此。 这时候,我们应该完全删除的选项。(Andrew Nacin, Ticket #21509)
如果你更新安装到 WordPress 3.5 ,选项 enable_xmlrpc
会从数据库中删除的意思,即使你已经在设置中禁用它的服务将被启用。(现在已标记为过时)过滤器 pre_option_enable_xmlrpc
和 option_enable_xmlrpc
仍然会受到尊重。
尽管如此,它仍然可以禁用该服务,虽然它是有点难度。 WordPress 3.5 引入了过滤器 xmlrpc_enabled
:
add_filter('xmlrpc_enabled', '__return_false');
您可以将此代码添加到您的 wp_config.php
行后 require_once(ABSPATH . 'wp-settings.php');
如果你想禁用 XML-RPC 为您的网站。 当然更好的解决方案是创建一个小的插件 。
WordPress 也包含了鲜为人知的 Atom 发布协议。 这项服务将在 3.5 版本中被删除,因为它具有比 XML-RPC 实现少得多的功能,并具有从来没有收到多少爱从开发商。任何试图调用 AtomPub 的服务将返回一个403错误。 被扩展类插件 wp_atom_server
将收到一个警告,此类已废弃。
如果你仍然想使用 AtomPub 的协议,您可以安装一个插件 。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论