Glossaire

Qu'est-ce que XML-RPC ?

8 février 2026 Mis à jour le 19 avr. 2026

XML-RPC est l'une de ces fonctionnalités WordPress dont la plupart des propriétaires de sites n'ont jamais entendu parler, et pourtant elle tourne discrètement en arrière-plan de presque chaque installation WordPress depuis plus d'une décennie. Le fichier xmlrpc.php se trouve à la racine du répertoire et accepte les requêtes du monde extérieur. À l'origine, c'était le seul moyen de gérer un blog WordPress à distance. Aujourd'hui, c'est surtout un risque de sécurité que les attaquants adorent exploiter.

Ce que XML-RPC fait dans WordPress

XML-RPC signifie Extensible Markup Language – Remote Procedure Call. En termes simples, c'est un moyen pour les logiciels externes de communiquer avec votre site WordPress via HTTP. L'application externe envoie une requête XML spécialement formatée à votresite.com/xmlrpc.php, WordPress la traite et renvoie une réponse XML.

Grâce à cette interface, les clients distants peuvent réaliser des actions telles que :

  • Créer, modifier et supprimer des articles et des pages
  • Téléverser des images et autres médias
  • Modérer et gérer les commentaires
  • Récupérer la configuration et les métadonnées du site
  • Envoyer et recevoir des pingbacks entre blogs

Considérez-le comme une API primitive, fonctionnelle, mais conçue à une époque où les API REST n'étaient pas encore courantes.

XML-RPC vs REST API : de l'essentiel à l'obsolète

Au milieu des années 2000, si vous vouliez écrire un article de blog depuis votre téléphone ou une application de bureau comme Windows Live Writer, XML-RPC était votre seule option. WordPress a adopté l'API MetaWeblog et l'API Blogger, toutes deux basées sur XML-RPC, pour permettre à ces outils de communiquer avec votre site.

Puis, en 2016, WordPress 4.7 a intégré nativement l'API REST. Soudain, il y avait un moyen moderne et standardisé d'interagir avec WordPress, qui utilise JSON au lieu de XML, prend en charge une authentification correcte et est beaucoup plus facile à utiliser. À partir de ce moment, XML-RPC est devenu une relique. La plupart des extensions, applications et intégrations modernes utilisent exclusivement l'API REST.

Risques de sécurité XML-RPC : force brute, DDoS et plus encore

Le fichier est accessible publiquement par défaut sur chaque site WordPress. Cela seul n'est déjà pas idéal, mais les vrais problèmes vont plus loin :

  • Amplification de force brute : XML-RPC dispose d'une méthode appelée system.multicall qui permet de regrouper des centaines de requêtes en une seule. Un attaquant peut tester 500 combinaisons nom d'utilisateur-mot de passe en une seule requête HTTP. De nombreuses extensions de protection de connexion ne le voient même pas, car elles surveillent uniquement wp-login.php.
  • Abus de pingback : la fonctionnalité pingback peut être détournée pour des attaques DDoS. Un attaquant demande à des milliers de sites WordPress de "pinger" un serveur cible, transformant ainsi des sites innocents en botnet. Cela s'est produit à plusieurs reprises lors d'attaques réelles.
  • Énumération des noms d'utilisateur : même sans identifiants valides, les réponses XML-RPC peuvent confirmer l'existence d'un nom d'utilisateur, fournissant aux attaquants la moitié des informations dont ils ont besoin.
  • Surface d'attaque inutile : chaque point d'accès public qui accepte une authentification est un point d'entrée potentiel. Si vous n'utilisez pas XML-RPC, le laisser ouvert revient à laisser une porte déverrouillée que personne ne franchit jamais.

Votre site WordPress a-t-il encore besoin de XML-RPC ?

La réponse honnête : presque personne. Il existe quelques cas particuliers :

  • Jetpack dépendait fortement de XML-RPC, mais migre vers l'API REST. Les versions plus récentes de Jetpack fonctionnent sans pour la plupart des fonctionnalités.
  • Très anciennes applications mobiles : l'application mobile WordPress actuelle utilise l'API REST. Seules les versions obsolètes d'avant 2016 ont encore besoin de XML-RPC.
  • Outils tiers hérités : certaines anciennes recettes IFTTT ou plateformes de publication peuvent encore l'utiliser, mais des alternatives existent pour toutes.

Si rien de tout cela ne s'applique à vous, il n'y a aucune bonne raison de garder XML-RPC activé.

Comment désactiver XML-RPC dans WordPress

La méthode la plus rapide est un filtre dans le functions.php de votre thème ou une extension personnalisée :

add_filter('xmlrpc_enabled', '__return_false');

Cela désactive les méthodes XML-RPC mais le fichier renvoie toujours une réponse. Pour bloquer complètement l'accès au niveau du serveur, ajoutez ceci à votre .htaccess :

<Files xmlrpc.php>
  Require all denied
</Files>

Ou si vous êtes sous Nginx :

location = /xmlrpc.php {
  deny all;
  return 403;
}

De nombreuses extensions de sécurité (Wordfence, iThemes Security, Sucuri) proposent également un interrupteur pour désactiver XML-RPC en un clic.

Détectez un point d'accès XML-RPC ouvert avec InspectWP

InspectWP vérifie si votre point d'accès xmlrpc.php est accessible depuis l'extérieur. S'il répond aux requêtes, le rapport le signale et explique pourquoi vous devriez envisager de le désactiver, en particulier si votre site n'a aucune raison légitime de le garder actif.

Vérifiez votre site WordPress dès maintenant

InspectWP analyse votre site WordPress pour détecter les problèmes de sécurité, de SEO, de conformité RGPD et de performance — gratuitement.

Analyser votre site gratuitement