禁用WordPress XML-RPC的N种方法

在WordPress,XML-RPC 用于为pingback的功能,主要用于于远程发布文章和需要与外部应用程序的特定通信功能。通过Pingback功能,通知另一个博客的作者您已在其站点上放置了指向其文章的链接(反之亦然)。

XML-RPC可将安装在本地计算机上的Weblog程序用于文章的远程发布。即使没有互联网连接,也可以创建文章。激活互联网连接后,应用程序会将已经创建的文章发送到WordPress网站。

每个WordPress安装都包含位于系统根目录中的xmlrpc.php文件。

通过此文件使用XML-RPC功能。通过xmlrpc.php,WordPress可以接收和发送XML-RPC信号并与其他外部应用程序进行通信。

XML-RPC是种远程调用协议。使用XML-RPC允许运行在不同操作系统上和不同环境中的两个应用程序通过Web(通过HTTP)相互通信。XML-RPC协议是SOAP协议的前身。尽管SOAP协议较新并支持更多功能,但XML-RPC仍在被使用,并且比SOAP更受青睐,这恰恰是因为它简单易用。

为什么要禁用WordPress的XML-RPC【转载自wordpress大学】

实际上,xmlrpc.php会带来安全风险。它为您的站点创建了一个附加访问点,这可能使其容易受到外部攻击。每次对XML-RPC进行身份验证时,都需要提供用户名和密码,相比安全性来说,这个功能并不那么重要。

例如,为了防止暴力攻击,您可以限制在WordPress网站上的登录尝试。但是,启用XML-RPC后,该限制将不存在。尝试登录没有上限,这意味着确定的网络犯罪分子获得访问权限只是时间问题。

通过禁用XML-RPC,您可以关闭黑客的潜在进入区域。当然,没有XML-RPC,就不可能进行远程访问。您需要直接登录WordPress以进行发布和更新。因此,如果移动应用程序和远程软件是您进行网站更新的方法,则不能关闭该功能。

方法1:禁用Apache XML-RPC

将以下代码粘贴到wordpress根目录中的.htaccess文件中,即可禁用Apache XML-RPC通信能力。

# 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。否则,您可以完全删除此行。【如果找不到,您可以尝试请您的服务器上协助您操作】

方法2:禁用nginx XML-RPC

你可以在对应网站的nginx配置文件中,添加下面的代码禁用 XML-RPC:

location ~* /xmlrpc.php$ {
allow 123.123.123.123;
deny all;
}

方法3:wordpress主题functions.php中禁用XML-RPC功能

add_filter('xmlrpc_enabled', '__return_false');

结语

自从wordpress在4.0版本后,默认都是会开启XML-RPC通信,方便用户使用客户端发布文章,或离线撰写博客。但是由于客户端的限制,很多网站其实用不到这个功能,开启 xmlrpc 反而增加一些安全风险,

人已赞赏
WordPress功能优化

代码实现wordpress页面地址自动增加.HTML后缀

2020-6-5 10:13:54

WordPress功能优化

关闭Gutenberg(古腾堡)全屏模式

2020-6-11 9:48:35

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索