Bien plus qu'un hébergeur !

Le XMLRPC de WordPress : qu’est-ce que c’est et pourquoi le désactiver ?

Dans ce billet, nous allons nous intéresser au XML RPC de WordPress :

  1. À quoi sert le Protocole XMLRPC ?
  2. Qu’en est-il du XMLRPC de WordPress ?
  3. XMLRPC est-il toujours d’actualité en 2022 ?
  4. Pourquoi et comment désactiver le XMLRPC de WordPress ?

Commençons par une stricte définition du protocole XML RPC en lui-même.

Définition de XML RPC

XML-RPC est un protocole RPC, ce qui signifie Remote Procedure Call.

XML RPC se sert du protocole HTTP pour transférer des données et de la norme XML pour la structuration des données.

Mais qu’en est-il du fichier xmlrpc.php de WordPress ?

Le XML RPC et WordPress

Le XML-RPC a été créé bien avant le CMS WordPress. Il était utilisé dans le logiciel de blogging B2. Ce dernier a été forké par Automattic pour finalement, en 2003, devenir WordPress.

À l’origine, jusqu’à la version 3.5 de WordPress, le fichier XML-RPC était désactivé par défaut. Cependant, c’est à partir de la version 3.5 du CMS, qu’il a été activé par défaut. La raison de ce changement est principalement de permettre à l’application mobile de WordPress de communiquer avec votre installation WordPress. Sans cela, il n’est pas possible de travailler sur votre WordPress depuis un mobile. Le XML-RPC permet également de faire transiter des données entre WordPress et des systèmes extérieurs au CMS; il intervient également au niveau des rétroliens et des pings, etc.

Utilisateurs de WordPress, XML-RPC est obsolète ! 

C’est en décembre 2016, dans la version 4.7 de WordPress qu’est arrivée l’API REST dans le coeur du CMS. REST signifie Representational State Transfer et API signifie Application Programming Interface. Cette API a été créée pour prendre en charge les applications basées sur WordPress et pour transformer WordPress en une plateforme d’application. Elle est, par exemple, utilisée par WordPress.com dans son l’interface JavaScript pour se connecter avec la base de données de WordPress. L’API est également utilisée par l’éditeur de texte Gutenberg.

L’API REST de WordPress est une interface que les développeurs peuvent utiliser pour accéder à WordPress depuis l’extérieur de l’installation WordPress elle-même. Un peu comme le XML RPC le permettait à l’époque. Il est possible pour les développeurs d’accéder à l’API REST avec du JavaScript.

Depuis que l’API REST a été intégrée dans le coeur de WordPress, le fichier xmlrpc.php n’est plus utilisé. Il est devenu obsolète. La flexibilité de l’API REST est plus grande que le protocole XML-RPC. Le nombre de systèmes avec lesquels l’API REST peut interagir est beaucoup plus large que celui autorisé par le xmlrpc.php.

Pourquoi désactiver XML-RPC sur WordPress ?

XML-RPC n’étant plus utilisé, en faveur de l’API REST, il n’est plus nécessaire pour vous de garder XML-RPC actif sur votre site. Ce fichier xmlrpc.php devient une source potentielle de vulnérabilités et est souvent la source d’attaque DDoS.

Ce fichier se retrouve presque systématiquement parmi les scripts les plus consommateurs de ressources, alors qu’il n’est réellement utilisé que par -1% des sites WordPress. 

Vous pouvez donc sereinement désactiver le XML RPC de WordPress sur votre Hébergement Web.

Comment désactiver XML-RPC dans WordPress ?

En tant qu’Hébergeur Web offrant également du Support WordPress, nous sommes toujours ravis d’assister les utilisateurs de WordPress, pour désactiver leur XML RPC et ainsi faire baisser la charge de leur compte d’Hébergement cPanel.

Deux méthodes s’offrent à vous pour désactiver le XML-RPC de WordPress

Pensez à toujours faire un backup de votre site et/ou de votre fichier .htaccess avant toute intervention technique comme celle-ci.

1. Modifier votre fichier .htaccess

Vous pouvez vous connecter à votre compte cPanel puis vous rendre dans le gestionnaire de fichiers.

Dans le dossier contenant votre site, vous trouverez le fichier .htaccess.

Dans notre exemple, le site dans lequel nous souhaitons désactiver XML-RPC étant le site principal de notre offre d’hébergement, il se trouve dans le dossier « public_html ». Si le site sur lequel vous souhaitez intervenir est un domaine supplémentaire, le site se trouvera dans un dossier portant son nom.

Si vous ne voyez pas votre fichier .htaccess, rendez-vous dans « Paramètres » puis cochez la case « Affichier les fichiers masqués (dotfiles) ».

Vous pouvez maintenant éditer votre fichier .htaccess et y ajouter le code suivant : 

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

Voilà, vous avez désactivé XML-RPC de votre site 🙂

2. Installer un plugin WP pour désactiver le XMLRPC

Si vous ne souhaitez pas modifier vous-même votre fichier .htaccess, il est également possible d’installer un plugin vous permettant de désactiver XML-RPC très simplement. Pour cela, nous vous conseillons 2 plugins : 

Disable XML-RPC

ou Disable XML-RPC-API, ce dernier étant plus régulièrement mis à jour.

L’installation et l’activation de l’un de ces deux plugins sur votre site WordPress aura pour effet de désactivé le fichier xmlrpc.php

Le fichier XML RPC de votre site WordPress est désactivé !

Pour le vérifier, visitez simplement l’adresse de votre site Web https://example.com/xmlrpc.php.

XMLRPC WordPress
XMLRPC WordPress

Si votre navigateur renvoi une erreur semblable à celle illustrée sur la capture ci-dessus, c’est bon. Votre fichier WordPress xmlrpc.php ne peut plus être exploité par les pirates.

En cas de doute n’hésitez pas à contacter le support technique d’EasyHoster afin que nous vous confirmions que vous avez correctement désactiver le XML-RPC.

Sommaire de ce billet
Besoin d'aide ?

Le site WordPress speed.easyhoster.net ➚ permet de tester le potentiel des solutions d'Hébergement Web EasyHoster.