什么是xmlrpc
xmlrpc的全称是XML Remote Procedure Call,即XML(标准通用标记语言下的一个子集)远程过程调用。它是一套允许运行在不同操作系统、不同环境的程序实现基于Internet过程调用的规范和一系列的实现。这种远程过程调用使用http作为传输协议,XML作为传送信息的编码格式。Xml-Rpc的定义尽可能的保持了简单,但同时能够传送、处理、返回复杂的数据结构。
简言之,这是一套可以让你使用流行的博客客户端(例如,Windows Live Writer)将博文发布到你的WordPress网站上的系统。当你使用WordPress移动app的时候,或者当你想跟IFTTT这样的服务连接的时候,这个功能也是必须的。
如果你想远程访问和发布文章的话,那你就需要开启XML-RPC。
以前,鉴于对安全性的考虑,所以将XML-RPC设置为默认禁用。但是现在情况完全不同了,WordPress的代码质量有了很大的提升,归功于开发团队大量的工作,它在API开发方面不再受到歧视。 与其他核心相比,安全性已经不是什么大问题了。
现在已经没有什么理由再将它默认设置为禁用了,是时候删掉这个选项了。
随着移动设备的使用越来越多,这种变化迫在眉睫。 然而,一些对安全问题持谨慎态度的人可能会说,虽然XML-RPC的安全性并不是一个大问题,但如果发现漏洞,它仍然可以为被攻击的一个点,所以最好还是设置为禁用。
为了满足所有人的需求,虽然关闭XML-RPC的用户操作界面和数据库选项都已经被移除了,但是如果确实有需要的话,你可以使用WordPress提供的过滤器来关闭它。
第一种方法
add_filter('xmlrpc_enabled', '__return_false');
第二种方法.htaccess文件禁用
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 123.123.123.123
</Files>
如果您要允许访问xmlrpc.php
的特定IP地址,则可以在上面的代码段中替换123.123.123.123。否则,您可以完全删除此行。
在 Nginx 环境下禁用xmlrpc
location ~* /xmlrpc.php$ {
allow 123.123.123.123;
deny all;
}
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。