折纸SEO SEO优化 为确保WordPress平安尽早禁用xmlrpc.php

为确保WordPress平安尽早禁用xmlrpc.php

WordPress的XML-RPC规范是为了尺度化差异系统之间的通讯,这意味着WordPress外部的应用程序…

为确保WordPress平安尽早禁用xmlrpc.php

为确保WordPress平安尽早禁用xmlrpc.php折纸SEO

WordPress的XML-RPC规范是为了尺度化差异系统之间的通讯,这意味着WordPress外部的应用程序(例如其他博客平台和桌面客户端)可以与WordPress进行交互。

自WordPress降生以来,该规范一直是WordPress的一部门,而且异常有用。没有它,WordPress将会置身于孤岛,与互联网其他组成部门分道扬镳。

然则,xmlrpc.php有其瑕玷。通过它,可以向您的WordPress网站注入破绽,现已被WordPress REST API取代,通过API将WordPress开放给其他应用程序方面做得更好。

在本文中,我们将注释什么是xmlrpc.php,为什么要禁用它,及如何确定它是否正在WordPress网站上运行。

  1. 什么是xmlrpc.php?
  2. 为什么要禁用xmlrpc.php
  3. xmlrpc.php是否在WordPress网站上运行?
  4. 如何禁用xmlrpc.php
  5. 何时需要启用xmlrpc.php?

什么是xmlrpc.php?

XML-RPC是支持WordPress与其他系统之间通讯的规范。它通过使用HTTP作为传输机制和XML作为编码机制来尺度化这些通讯来实现此目的。

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。

为什么要禁用xmlrpc.php

在WordPress网站上禁用xmlrpc.php的主要缘故原由是由于可以通过它注入平安破绽,  而且xmlrpc.php可能成为攻击的目的。

既然不再需要XML-RPC在WordPress之外进行通讯,就没有理由保持它的激活状态。这就是为什么通过禁用它来提高站点平安性。

若是xmlrpc.php会对WordPress网站造成平安隐患,那么为什么不将其完全从WordPress中删除呢?

这是由于WordPress的主要功效之一始终是向后兼容。对网站进行优越的管理,就应该知道保持WordPress以及任何插件或主题版本为最新是必不能少的。

然则总会有那么一群站长不愿或无法更新其WordPress版本至最新版本。若是安装的WordPress版本早于REST API,则这些站点仍然需要接见xmlrpc.php。

通过XML-RPC Pingbacks进行DDoS攻击

xmlrpc.php启用的功效之一是pingback和Trackbacks。当另一个博客或网站链接到你的博客文章时,这些通知将显示在您网站的谈论中。

XML-RPC规范使这种通讯成为可能,但已被REST API取代(如我们所见)。

若是您的站点上启用了XML-RPC,则黑客可能会使用xmlrpc.php在短时间内向您的站点发送大量pingback,从而在您的站点上提议DDoS攻击。这可能会使服务器超载,并使站点无法正常运行。

通过XML-RPC的暴力攻击

每次xmlrpc.php发出请求时,它都市发送用户名和密码进行身份验证。这带来了重大的平安隐患,而REST API却没有这一点坏处。现实上,REST API使用OAuth来发送用于身份验证的令牌,而不是用户名或密码。

由于xmlrpc.php随每个请求发送身份验证信息,以是黑客可以使用它来实验接见您的站点。这样的暴力攻击可能使他们可以插入内容,删除代码或损坏数据库。

若是攻击者向您的站点发送了足够多的请求,每个请求使用差其余用户名和密码对,则它们最终有可能会被攻击到准确的请求,从而使他们可以接见您的站点。

因此,若是您正在运行WordPress的最新版本(使用REST API与外部系统进行通讯),则应禁用xmlrpc.php,以免你的网站易受攻击。

xmlrpc.php是否在您的WordPress网站上运行?

那么我们如何确定xmlrpc.php是否正在WordPress网站上运行。

并非简朴地检查该文件是否存在:xmlrpc.php是每个WordPress安装的一部门,纵然禁用了XML-RPC,它仍然存在。

删除任何内容之前,请务必备份您的网站(注:对网站系统任何焦点文件进行修改删除及处置数据库等操作,建议尽可能先备份原文件或者数据库,再执行操作,以免造成不需要的穷苦)。在这种情形下,不要仅仅删除xmlrpc.php文件,由于它会损坏您的站点。

要检查您的站点上是否启用了xmlrpc.php,请使用WordPress XML-RPC验证服务。这将检查您的站点并见告你网站是否启用了xmlrpc.php。

为确保WordPress平安尽早禁用xmlrpc.php折纸SEO

WordPress XML-RPC验证服务

输入一个我们的测试网站,检测网站的效果如下:

为确保WordPress平安尽早禁用xmlrpc.php折纸SEO

PHP框架基础知识及2020年最流行的PHP框架

网站XML-RPC检测-已禁用状态

这解释xmlrpc.php在该测试网站上已被禁用。若是您运行检查并发现xmlrpc.php仍在站点上启用,如何关闭它?

如何禁用xmlrpc.php

禁用xmlrpc.php有两种方式:

  1. 如何使用插件禁用xmlrpc.php
  2. 如何在没有插件的情形下禁用xmlrpc.php

如何使用插件禁用xmlrpc.php

(1)使用插件禁用XML-RPC

安装插件以禁用xmlrpc.php是最简朴的方式。你可以通过安装Disable XML-RPC插件来实现。使用方式如下:

对一个启用了xmlrpc.php的网站进行XML-RPC检测,你会看到下面的效果:

为确保WordPress平安尽早禁用xmlrpc.php折纸SEO

网站第一次XML-RPC检测-未禁用状态

通过WordPress仪表盘的“ 插件”界面安装插件,然后将其启用。

您无需执行其他任何操作:启用插件即可禁用XML-RPC。再次对该测试网站进行检查,则会获得差其余效果:

为确保WordPress平安尽早禁用xmlrpc.php折纸SEO

网站第二次XML-RPC检测-已禁用状态

(2)使用插件禁用XML-RPC Pingbacks

然则,若是要禁用xmlrpc.php的某部门功效,好比Pingback,该怎么办?使用Disable XML-RPC Pingback插件,您可以仅禁用pingback功效,这意味着若是需要,您仍然可以接见XML-RPC的其他功效。

(3)使用插件设置XML-RPC和REST API激活

若是要对站点上的xmlrpc.php和REST API的设置方式进行更仔细的控制,可以安装REST XML-RPC Data Checker插件。
安装并启用此插件后,转到 设置>REST XML-RPC Data Checker ,然后单击“ XML-RPC”选项卡。

为确保WordPress平安尽早禁用xmlrpc.php折纸SEO

REST XML-RPC数据检查器

可以准确设置xmlrpc.php的哪些功效在站点上处于流动状态。

或者,您可以将其完全关闭。而且,若是您还想控制REST API,则插件会为您提供另一个选项卡。

如何在没有插件的情形下禁用xmlrpc.php

若是您不想在您的站点上安装这类插件,则可以通过WordPress过滤器,或.htaccess文件、Nginx设置文件添加一些代码来禁用xmlrpc.php 。

(1)通过过滤器禁用xmlrpc.php

使用xmlrpc_enabled过滤器禁用xmlrpc.php,将此功效添加到其中一个插件并启用即可:

add_filter( 'xmlrpc_enabled', '__return_false' );

固然也可以将其添加到主题functions文件中,然则编写插件是一种更好的做法。

(2)通过.htacess文件或者Nginx设置文件禁用xmlrpc.php

另一种选择与编辑.htaccess文件或者Nginx设置文件来禁用XML-RPC功效。

若是你的服务器使用的是Apache,则网站根目录找到.htaccess文件中,添加以下代码:

<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>

若是你的服务器使用的是Nginx,将以下代码添加到Nginx.config文件中:

location ~* ^/xmlrpc.php$ {
return 403;
}

您何时需要启用xmlrpc.php?

在某些情形下,需要在WordPress网站上启用xmlrpc.php,或者不应该完全禁用它。

  • 没有运行REST API(不建议使用,但在某些情形下是必须的),但需要在WordPress网站和其他系统之间进行通讯。
  • 无法将WordPress更新至版本4.4或更高版本,因此无权接见REST API。这可能是由于主题或插件不兼容,若是可能,建议尽快使用取代主题或者插件。
  • 正在使用无法接见WP REST API但可以接见XML-RPC的外部应用程序(从久远来看,建议更新该应用程序或切换到兼容REST API的应用程序)。

以上这些都不是坚持继续启用XML-RPC理由,是一种“不思进取”的行为。

它仍然存在于WordPress中的唯一缘故原由是为了向后兼容,只有在使用过时的系统时才使用它。对于任何想要使其站点保持最新状态并使用最新手艺的人,禁用xmlrpc.php才是正途。

小结

XML-RPC规范是在WordPress确定之前就开发了,它是WordPress与外部系统和应用程序进行通讯的一种手段。XML-RPC曾经是WordPress的主要组成部门,但现在它可以成为WordPress网站的平安风险,如非需要,我们应该禁用它。

既然REST API允许您的站点与其他应用程序通讯,则可以平安地禁用xmlrpc.php。根据上述步骤操作,则可以通过禁用它来提高网站的平安性。

深入探讨15种主流图片格式及其优缺点

本文来自网络,不代表折纸SEO立场,转载请注明出处:https://www.30th-feb.com/2303

作者: DAR_KING

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

在线咨询: QQ交谈

邮箱: luckiestmjt@163.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部