Si vous utilisez WordPress, et tous ceux qui ont déjà regardé la liste des fichiers de base le savent, il existe à la racine de votre site un fichier nommé `xmlrpc.php`. XML-RPC est un script qui a été utilisé par WordPress dès les premières versions et depuis la version 3.5, il a été activé par défaut.
XML-RPC est un protocole qui permet de se connecter à des sites distants pour échanger des données, entrantes et sortantes. Actuellement, il peut prendre en charge l’API de plusieurs CMS comme l’API de WordPress, de Blogger, de Movable, de Pingback ou l’API de MetaWeblog.
En général, nous utilisons le protocole XML-RPC lorsque nous créons un article à partir d’une application externe comme Windows Live Writer, ou pour des services connectés, comme IFTTT.
Plusieurs applications populaires et certains plugin font usage d’une partie de XML-RPC, parmi lesquelles:
- WordPress Mobile App
- JetPack (uniquement certaines parties)
- BuddyPress
- Windows Live Writer
- Certains plugin de galerie photos
Cependant, la popularité de `xml-rpc.php` dans WordPress augmente le risque d’attaques par force brute pour essayer de détecter le mot de passe. Pour attaquer un site, le pirate envoie un grand nombre de requêtes vers le serveur et le paralyse. Cette forme d’attaque est appelé Attaque HTTP Flood, un type d’attaque DDoS (Déni de Service).
Ceci étant dit, si vous n’avez pas réellement besoin de vous connecter à WordPress ou à des applications externes, désactivez XML-RPC pour éviter toute attaque par ce biais.
Comment savoir si votre site WordPress a été piraté
Une façon simple de savoir si votre site a été piraté a l’aide du protocole XML-RPC, est d’ouvrir le fichier access_log situé sur votre compte d’hébergement. Si vous voyez un nombre très élevé de visiteurs, votre site est attaqué via XML-RPC.
Limiter les attaques via XMLRPC
Pour limiter les attaque faites par le biais du protocole XML-RPC, un moyen simple et d’empêcher les fichiers d’être exécutés. Notez que vous ne devez en aucun cas effacer le fichier xmlrpc.php
, car il fait partie intégrante du code source WordPress. Cela peut provoquer des erreurs, et de toute façon lors de la prochaine mise à jour de version, il réapparaîtra.
Par conséquent, le blocage est la manière la plus efficace.
Désactiver XML-RPC
Si vous n’utilisez pas du tout XML-RPC, la meilleure chose à faire est de le désactiver. Il existe un plugin, nommé Eazy XMLRPC Pingback Disable ( qui peut le faire à votre place.
Voici quelques-uns des plugin de la même catégorie disponibles sur WordPress.org
- Prevent XMLRPC
- Disable XML-RPC
- Disable XML RPC Fully
- Secure XML-RPC
- etc.
Attention toutefois, ces plugin peuvent provoquer des conflits avec des applications externes ou avec d’autres plugin.
Vous pouvez également désactiver XML-RPC par vous même, de différentes façons.
Bloquer xmlrpc.php avec wp-config.php
Vous pouvez ajouter un filtre à la fin du fichier `wp-config.php`. Ce filtre désactivera complètement XML-RPC. Plusieurs tests sur plusieurs sites n’ont révélé aucun problème. Le code ci-dessous doit-être ajouté après la dernière instruction `ABSPATH`:
add_filter('xmlrpc_enabled', '__return_false');
Bloquer xmlrpc.php avec .htaccess
Ajoutez ces quelques ligne de code à un plugin spécifique à votre site ou au fichier `functions.php` de votre thème:
add_action("init", function() { global $pagenow; // get current page if ( !empty($pagenow) && "xmlrpc.php" === $pagenow ) { header("HTTP/1.1 403 Forbidden" ); // Produit une erreur 403 exit; // exit request } return; });
Contrôler xmlrpc.php avec iThemes Security
Si vous n’êtes pas à l’aise avec les méthodes ci-dessus, le plugin de sécurité iThemes Security vous permet de totalement bloquer l’accès à `xmlrpc.php` en un clic de souris.
Ce plugin de sécurité est quasiment obligatoire pour les sites WordPress. Si vous ne l’avez pas installé, et que vous n’avez pas de plugin de sécurité, je vous suggère de télécharger et d’installer immédiatement iThemes Security.

Conclusion
À mon avis, le protocole XML-RPC inclus dans WordPress est un outil très utile, mais il est temps de passer à l’API de WordPress. Etant donné que je n’utilise pas d’application mobile ou de connexion à distance pour publier des articles sur Bloginfos, XML-RPC est totalement désactivé sur le site. Alors si vous songiez faire le test, ne perdez pas de temps!
Quelle est votre point de vue sur la question? Avez-vous bloqué XML-RPC sur votre site WordPress ou l’utilisez vous avec des applications externes? Expliquez nous votre choix et développez votre point de vue dans les commentaires ci-dessous.
Si cet article vous a été utile, Merci de la partager!
Publié à l'origine le : 31 octobre 2016 @ 14 h 21 min
9 réponses
Bonjour,
Le plugin Disable XML RPC n’a pas eu de mise à jour depuis 2 ans, je me méfie d’une plugin sans mise à jour depuis un moment, le plugin
https://fr.wordpress.org/plugins/eazy-xmlrpc-pingback-disable/
ne peut-il pas le remplacer pour ceux qui ne veulent pas mettre les mains dans le cambouis?
Merci
Re bonjour,
J’ai voulu partager l’article mais pas d’image, du coup petit tour sur Debug de Facebook, là déjà ce message :
This URL hasn’t been shared on Facebook before.
J’avais ce genre de messages avant de créer une app sur Developer de Facebook et l’avoir mis en mode Public, ce qui est confirmé par le deuxième message de Facebook
The ‘fb:app_id’ property should be explicitly provided, Specify the app ID so that stories shared to Facebook will be properly attributed to the app. Alternatively, app_id can be set in url when open the share dialog.
Je voulais juste vous le signaler
Merci, je vais vérifier immédiatement.
Aucun problème avec ce plugin. Si vous utilisez iThemes Security, vous avez la possibilité de le faire depuis le plugin
Bonjour,
Je me méfie des plugins de sécurités, sur le forum de WPFr.net, j’ai lu des sujets où les gens avaient »cassés » leurs sites avec, du coup, je n’utilises pas ce genre de plugins.
Merci
ps: dommage de ne pas recevoir un mail quand on a une réponse à son commentaire, j’aime bien le plugin Comments – wpDiscuz pour ça.
Bonjour,
Il vaut mieux télécharger les plugin depuis des sources sûres, sur les forum les plugin ne sont pas vérifiés.
Je vais jeter un œil à wpDiscuz.
Bonjour,
Les gens disaient, soit via le tableau de bord , soit sur wordpress.org.
La modification des préfixes, etc. peut entraîner des problèmes, sur une base de données.
Bonjour,
En priorité les plugin sont à télécharger sur WordPress.org et ensuite sur des sites réputés pour leur sérieux ou chez l’éditeur directement.
Si elle est mal faites, la modification des préfixes peut entraîner des problèmes, c’est comme pour tout, il y a des règles à suivre
Hello,
Comme nous travaillons sur composer à BeAPI, nous avons réalisé un mu-plugin qui ressemble à deux goute d’eau au code proposé dans cet article.
Pour les intéressés : https://github.com/BeAPI/bea-disable-xmlrpc