Bien plus qu'un hébergeur !
Besoin d'aide ?

XML-RPC : qu’est-ce que c’est et pourquoi le désactiver ?

XML-RPC est un protocole RPC, RPC signifiant 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.

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.

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. 

Comment désactiver XML-RPC dans WordPress  ?

Deux méthodes s’offrent à vous pour désactiver XML-RPC. 

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

1. En modifiant 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. En installant un plugin

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

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.

L'avez-vous manqué : Quels sont les plugins indispensables à installer sur WordPress ?
Sur le même sujet : Que conseillez-vous pour optimiser ou sécuriser mon site WordPress ?
Sommaire