Tutoriels WordPress de confiance, quand vous en avez le plus besoin.
Guide du débutant pour WordPress
WPB Cup
25 millions+
Sites web utilisant nos plugins
16+
Années d'expérience WordPress
3000+
Tutoriels WordPress par des experts

Comment désactiver XML-RPC dans WordPress (méthode sécurisée)

XML-RPC est une API WordPress principale qui permet aux utilisateurs de se connecter à leur site WordPress à l'aide d'applications, d'outils et de services tiers. Malheureusement, par le passé, des pirates ont trouvé des moyens d'exploiter XML-RPC pour accéder aux sites WordPress.

Chez WPBeginner, nous avons aidé des milliers d'utilisateurs à sécuriser leur site WordPress et à désactiver XML-RPC. Nous avons constaté qu'il existe différentes façons de procéder, en fonction de vos connaissances techniques.

Par exemple, vous pouvez désactiver XML-RPC en accédant au fichier .htaccess ou en ajoutant un extrait de code. Pendant ce temps, si vous êtes débutant, il existe un plugin qui désactive le fichier principal sans avoir à modifier le code.

Dans cet article, nous vous montrerons comment désactiver facilement XML-RPC dans WordPress en utilisant différentes méthodes.

Désactivez facilement XML-RPC dans WordPress

Qu'est-ce que XML-RPC dans WordPress ?

XML-RPC est une API WordPress principale qui est activée par défaut depuis la sortie de WordPress 3.5 en 2012. Elle permet aux développeurs d'utiliser les protocoles XML et HTTPS pour se connecter et interagir avec votre site WordPress.

En bref, vous avez besoin que XML-RPC soit activé pour accéder et publier votre blog à distance, par exemple lorsque vous souhaitez utiliser une application mobile pour gérer votre site ou établir des connexions avec des services d'automatisation tels que Uncanny Automator ou Zapier.

Cependant, si vous n'utilisez pas d'applications mobiles avec votre site Web, certains experts en sécurité WordPress peuvent vous conseiller de désactiver XML-RPC. Cela ferme une porte qui pourrait potentiellement être exploitée pour pirater votre site Web.

Cela dit, examinons comment désactiver facilement l'API XML-RPC dans WordPress. La méthode .htaccess est la meilleure car elle consomme le moins de ressources, et les autres méthodes sont plus faciles pour les débutants.

Méthode 1 : Désactiver XML-RPC de WordPress avec .htaccess (Avancé)

Cette méthode s'adresse aux utilisateurs avancés car elle nécessite de modifier le fichier .htaccess de votre site. Nous recommandons aux débutants d'utiliser la méthode 2 ou 3.

Cette méthode présente plusieurs avantages, tels que la possibilité de donner un accès à distance à vous-même et à votre équipe tout en restreignant les autres. Elle n'affectera pas non plus négativement les performances de votre WordPress car elle désactive les requêtes XML-RPC avant qu'elles ne soient transmises à WordPress.

Vous devrez ajouter le code suivant à votre fichier .htaccess. Vous pouvez le faire en vous connectant à votre site à l'aide d'un client FTP ou d'un gestionnaire de fichiers. De plus, les utilisateurs d'All in One SEO peuvent utiliser l'outil d'édition intégré du plugin pour ajouter l'extrait de code, comme vous pouvez le voir dans la capture d'écran ci-dessous.

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
 deny from all
allow from 123.123.123.123
</Files>
Utilisez AIOSEO Pro pour désactiver XML-RPC depuis htaccess

Si vous souhaitez accorder à un utilisateur spécifique un accès à distance à votre site, remplacez simplement « 123.123.123.123 » à la ligne 5 par son adresse IP. Vous pouvez ajouter plusieurs adresses IP en les séparant par des espaces.

Ou, si vous souhaitez désactiver complètement XML-RPC, supprimez la ligne 5.

Remarque : Si vous ne trouvez pas .htaccess, consultez notre guide sur pourquoi vous ne trouvez pas le fichier .htaccess dans WordPress.

Méthode 2 : Désactiver XML-RPC de WordPress avec un extrait de code (Recommandé)

Cette méthode vous demande d'ajouter du code à votre site WordPress. Si vous ne l'avez jamais fait auparavant, consultez notre guide sur la façon de copier et coller des extraits de code personnalisés dans WordPress.

WPCode est le moyen le plus simple et le plus sûr d'ajouter du code à votre site WordPress. Il vous aide à gérer vos extraits de code et empêche toute erreur de casser votre site.

Dans cette méthode, nous utiliserons l'un des extraits de code intégrés de WPCode pour désactiver XML-RPC.

Tout d'abord, vous devez installer le plugin gratuit WPCode. Pour des instructions étape par étape, consultez notre guide étape par étape sur comment installer un plugin WordPress.

Après l'activation, allez dans Extraits de code » Ajouter un extrait. La bibliothèque WPCode contient déjà un extrait qui désactive XML-RPC. Vous pouvez le trouver en recherchant 'xml.'

Une fois que vous l'avez trouvé, vous devez cliquer sur le bouton 'Utiliser l'extrait'.

Utilisez la bibliothèque WPCode pour désactiver XML-RPC

Ensuite, vous devez faire passer le commutateur 'Actif' à la position 'Activé'.

Enfin, assurez-vous de cliquer sur le bouton 'Mettre à jour' pour activer l'extrait sur votre site et désactiver l'API XML-RPC.

Activez l'extrait WPCode en cliquant sur Activer et en appuyant sur Mettre à jour

Méthode 3 : Désactiver XML-RPC de WordPress avec un plugin

C'est une méthode simple qui peut être utilisée si vous ne souhaitez pas ajouter d'autres personnalisations à votre site Web avec un plugin d'extraits de code.

Installez et activez simplement le plugin Disable XML-RPC-API. Pour plus de détails, consultez notre guide étape par étape sur comment installer un plugin WordPress.

Le plugin fonctionne dès l'installation et désactivera immédiatement XML-RPC.

Vous pouvez naviguer vers XML-RPC Security » XML-RPC Settings pour configurer le plugin. Par exemple, vous pouvez autoriser certains utilisateurs à accéder à XML-RPC en ajoutant leurs adresses IP à la liste blanche.

Les paramètres du plugin Désactiver XML-RPC-API

Vérifier que XML-RPC de WordPress est désactivé

Vous devriez maintenant vérifier que vous avez bien désactivé l'API XML-RPC sur votre site WordPress.

Vous pouvez également vérifier que XML-RPC est désactivé en visitant simplement l'URL http://example.com/xmlrpc.php dans votre navigateur. Assurez-vous de remplacer « example.com » par le nom de domaine de votre propre site web.

Si XML-RPC est désactivé, vous devriez voir le message d'erreur : « Forbidden: You don’t have permission to access this resource. »

Nous espérons que cet article vous a aidé à apprendre comment désactiver facilement XML-RPC dans WordPress. Vous pourriez également vouloir consulter notre guide sur comment ajouter facilement du JavaScript dans WordPress et les meilleurs outils de développement WordPress.

Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.

Avis : Notre contenu est financé par nos lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons percevoir une commission. Voir comment WPBeginner est financé, pourquoi c'est important et comment vous pouvez nous soutenir. Voici notre processus éditorial.

La boîte à outils WordPress ultime

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tout professionnel devrait posséder !

Interactions des lecteurs

46 CommentsLeave a Reply

  1. Merci pour l'extrait. Finalement, j'ai désactivé XML-RPC en utilisant WPCode car cela semblait être le moyen le plus simple, et je peux aussi facilement réactiver XML-RPC. Super !

  2. dans htaccess, la ligne :
    allow from 123.123.123.123
    semble vouloir être modifiée avec mon adresse IP. Mais ce n'est indiqué nulle part — ?

    • Bloquer tenterait de limiter l'accès à la fonctionnalité tandis que désactiver l'éteindrait complètement. Si vous le désactivez, vous n'auriez pas à vous soucier que quelqu'un y accède par une méthode différente.

      Admin

  3. Le plugin recommandé Disable XML-RPC n'a pas été mis à jour depuis 2 ans. Il est indiqué que le plugin n'a pas été testé avec les 3 dernières versions de WordPress.

  4. Bonjour,

    La désactivation de l'accès à xmlrpc.php désactivera-t-elle également l'accès aux API WordPress utilisées pour le développement d'applications Android/iOS ?

  5. Solution trouvée : Ajout des informations suivantes dans la configuration nginx : # bloc nginx pour les requêtes xmlrpc.php location /xmlrpc.php { deny all; }

  6. J'utilise nginx à la place d'Apache. Puis-je toujours utiliser .htaccess sur mon site ? Et dois-je stocker ce fichier dans le répertoire public_html, ou un niveau au-dessus ?

        • Vous ajouteriez le plugin spécifique au site ou le plugin mentionné plus tôt dans l'article.

  7. Salut, est-ce dans le fichier .htaccess à la racine du site que je vais coller le code ?

    • Yes, the .htaccess in your site’s root folder is where you would add the .htaccess code :)

      Admin

  8. pourquoi autoriserions-nous 123.123.123.123 ?

    Si nous n'utilisons pas du tout le service, pourquoi ne pas laisser "deny all" être absolu ?

    • Si je lis le code correctement ; order deny,allow – place deny avant allow, puisque deny est 'all' alors allow n'est pas traité deny from all – fait ce qu'il dit allow from 123.123.123.123 – est un espace réservé

      Je suppose que si vous avez une adresse IP fixe, vous pourriez changer l'ordre en « allow,deny » et remplacer 123.123.123.123 par votre adresse IP. Cela autoriserait votre IP puis refuserait toutes les autres.

  9. Thanks WP-Beginner, I’m trying to be baddest WP boy in my neighbourhood and this is exactly why I keep coming back to you guys, each question I have you say; here is the easy way, and here is the RIGHT way :-)

    Moi et mon .htaccess allons avoir une petite discussion sur htpasswrd et ce truc XMLRPC dont mes clients n'auront jamais besoin.

    Vous avez tous rendu mon coin d'Internet un peu plus sûr, comme dirait MailChimp : High Fives !

  10. Ok, je vais utiliser ce code mais je veux que IFTTT fonctionne sur mon site web, qu'est-ce que je dois ajouter ?

    # Bloquer les requêtes WordPress xmlrpc.php

    ordre refuser,autoriser
    refuser de tous
    autoriser de 123.123.123.123

  11. Bonjour,

    J'ai suivi les instructions pour bloquer le fichier xmlrpc.php en utilisant .htaccess mais je ne suis pas sûr si cela fonctionne.

    J'utilise Wordfence Security et dans la vue du trafic en direct, je peux voir que les requêtes pour le fichier xmlrpc.php ont cessé, mais si je vérifie mes journaux d'accès

    tail -f /apache2/logs/access_log

    Je peux toujours voir les requêtes arriver, mais le code à la fin est passé de 500 à 403. Je crains d'avoir un faux rapport de mon plugin WordFence et que je sois toujours inondé de spam. Quelqu'un peut-il me conseiller ?

    Merci,

    PhilB

    • Oh oui ! Ça fonctionne parfaitement, votre XMLRPC est INTERDIT !

      Code d'état HTTP 403 : Le serveur a compris la requête mais refuse de l'autoriser.

  12. J'ai un problème étrange…

    J'utilise mes blogs WordPress avec IFTTT et tout fonctionnait bien, jusqu'à ce que je l'intègre avec MaxCDN ; IFTTT a immédiatement cessé de fonctionner. J'ai fait quelques recherches et le problème pourrait être lié à XML-RPC qui a été désactivé.

    Lorsque je vérifie mon tableau de bord dans « Paramètres » > « Écriture », je ne vois rien comme XML-RPC, Publication à distance, etc. J'ai vérifié la base de données dans les options, également xml-rpc non disponible / manquant.

    J'ai besoin d'activer XML-RPC pour que mon IFTTT continue de fonctionner.

    Comment puis-je réactiver XML-RPC ; tout ce dont j'ai besoin est un script que je peux ajouter dans .htaccess ou functions.php pour activer XML-RPC.

    Et pourquoi est-ce que la fonctionnalité XML-RPC manque dans mon tableau de bord.

    Merci !

  13. Je cherchais comment ajouter ce fichier xmlprc.php à mon WordPress, j'utilise la version 4.5.3 et je suis tombé sur cette page. J'ai besoin d'ajouter ce fichier php car lorsque j'active Jetpack, j'obtiens une erreur de site inaccessible. S'il vous plaît, dites-moi comment résoudre cette erreur, mon site est

    • Connectez-vous à votre site WordPress à l'aide d'un client FTP ou du gestionnaire de fichiers dans cPanel. Dans le répertoire racine de votre site Web, recherchez le fichier xmlrpc.php. S'il est là, essayez l'étape 2. S'il n'y est pas, téléchargez une copie fraîche de WordPress. Décompressez-le et téléchargez le fichier xmlrpc.php sur le répertoire racine de votre site.

      Étape 2 : Vérifiez le fichier functions de votre thème WordPress pour le code qui désactive XML-RPC.

      Étape 3 : Vérifiez vos fichiers .htaccess et wp-config.

      Admin

  14. S'il vous plaît, que puis-je faire pour activer xmlrpc sur mon site ? car je ne peux pas me connecter avec l'application mobile WordPress sur mon smartphone..

  15. Booyah ! Ce filtre WP a corrigé l'attaque des script kiddies. J'ai quand même bloqué la personne au pare-feu, mais je n'ai pas à surveiller les journaux comme un faucon pour ajouter d'autres IP au pare-feu. MERCI.

  16. Je suis tout à fait d'accord pour désactiver xmlrpc.php sur l'ensemble du serveur dans mon fichier /etc/httpd/conf/includes/pre_main_global.conf. Mais il me reste cette question… y a-t-il un moyen de déterminer qu'un plugin particulier « A BESOIN » de xmlrpc.php pour fonctionner ? Je crains de bloquer l'accès à celui-ci et d'avoir ensuite un problème 2 mois plus tard sans savoir que le problème vient du fait que j'ai précédemment bloqué xmlrpc.php.

    Y a-t-il des signes courants à rechercher dans un fichier journal ou autre qui indiqueraient qu'un blocage de xmlrpc.php en est la cause ?

  17. Salut, j'utilise l'application WordPress pour publier avec mon smartphone Android. Maintenant, je ne peux pas me connecter et mes identifiants sont corrects. La réponse que j'ai obtenue était « nous ne pouvons pas vous connecter, impossible de se connecter au site WordPress ». Pourriez-vous m'aider à corriger cette erreur de connexion à l'application WordPress ?

    • Si vous aviez désactivé XML RPC, vous ne pourrez peut-être pas vous connecter à l'application mobile WordPress. Regardez dans le fichier functions.php de votre thème pour ce code

      add_filter('xmlrpc_enabled', '__return_false');

      S'il est là, vous devrez le supprimer. Vous pouvez également essayer de désactiver les plugins et de les réactiver un par un jusqu'à ce que vous trouviez le plugin qui vous empêche de vous connecter à l'application mobile WordPress.

      Admin

  18. Il est à noter que « allow from 123.123.123.123 » est facultatif et, s'il est utilisé, doit être mis à jour pour inclure votre adresse IP ou l'adresse IP de l'appareil qui a besoin d'accéder à xmlrpc.php (il serait bon de citer des exemples dans cet article).

  19. J'utilise le plugin GoodbyeCaptcha pour désactiver le XML-RPC et cela fonctionne sans problème lorsque Jetpack est activé.
    J'espère que cela vous aidera

  20. Désolé, j'ai essayé cette méthode plusieurs fois. Cela n'a pas fonctionné pour moi – en fait, cela a fait planter le front-end (bloquant l'accès de lecture des visiteurs à la page Web) après avoir ajouté ces codes au fichier .htaccess.

  21. Keith, il y a une tendance dans WordPress à déplacer les fonctions non liées au thème du fichier functions.php vers un « plugin spécifique au site », essentiellement un plugin que vous n'activez que sur un seul site Web unique et qui stocke les fonctions non liées au thème pour ce site.

    Vous pouvez accomplir la même chose en plaçant le code dans votre fichier functions.php.

  22. Salut les gars
    Désolé d'être un peu lent mais pourriez-vous développer... « Tout ce que vous avez à faire est de coller le code suivant dans un plugin spécifique au site : »

    Quels plugins sont spécifiques au site ?

Laisser une réponse

Merci d'avoir choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.