Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coupe WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

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

Note éditoriale : Nous percevons une commission sur les liens des partenaires sur WPBeginner. Les commissions n'affectent pas les opinions ou les évaluations de nos rédacteurs. En savoir plus sur Processus éditorial.

Voulez-vous désactiver XML-RPC sur votre site WordPress ?

XML-RPC est une API cœur de WordPress qui permet aux utilisateurs/utilisatrices 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 à des sites WordPress.

Dans cet article, nous allons vous afficher comment désactiver facilement XML-RPC dans WordPress.

Easily disable XML-RPC in WordPress

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

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

En bref, vous devez activer XML-RPC pour accéder à votre blog et le publier à 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, alors certains experts en sécurité WordPress peuvent vous conseiller de désactiver XML-RPC. Cela ferme une porte qui peut potentiellement être exploitée pour pirater votre site.

Ceci étant dit, voyons comment désactiver facilement l’API XML-RPC dans WordPress. La méthode .htaccess est la meilleure car elle est la moins gourmande en ressources, et les autres méthodes sont plus faciles pour les débutants.

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

Cette méthode s’adresse aux utilisateurs/utilisatrices avancés car elle requiert 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, comme la possibilité de donner un accès à distance à vous-même et à votre équipe tout en restreignant l’accès à tous les autres. Elle n’aura pas non plus d’effet négatif sur les performances de WordPress, puisqu’elle désactive les demandes XML-RPC avant qu’elles ne soient transmises à WordPress.

Vous devez 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/utilisatrices SEO peuvent utiliser l’outil d’édition intégré au 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>
Use AIOSEO Pro to disable XML-RPC from htaccess

Si vous souhaitez donner à un certain compte 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.

Note : Si vous n’arrivez pas à trouver .htaccess, consultez notre guide sur les raisons pour lesquelles vous ne trouvez pas .htaccess dans WordPress.

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

Cette méthode nécessite 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 à WPCode pour désactiver XML-RPC.

Tout d’abord, vous devez installer l’extension gratuite WPCode. Pour obtenir des instructions étape par étape, consultez notre guide étape par étape sur l’installation d’une extension WordPress.

Une fois activé, 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 ».

Use WPCode Library to disable XML-RPC

Ensuite, vous devez permuter le bouton « Actif » sur la position « Actif ».

Confirmez donc que vous cliquez sur le bouton « Mettre à jour » pour activer l’extrait sur votre site et désactiver l’API XML-RPC.

Turn the WPCode snippet on by clicking Activate and pressing Update

Méthode 3 : Désactiver WordPress XML-RPC avec une extension

Il s’agit d’une méthode simple qui peut être utilisée si vous ne souhaitez pas ajouter d’autres personnalisations à votre site à l’aide d’une extension d’extrait de code.

Il suffit d’installer et d’activer l’extension Disable XML-RPC-API. Pour plus de détails, consultez notre guide étape par étape sur l’installation d’une extension WordPress.

L’extension fonctionne d’emblée et désactive immédiatement XML-RPC.

Vous pouvez naviguer vers Sécurité XML-RPC  » Réglages XML-RPC pour définir l’extension. Par exemple, vous pouvez permettre à certains utilisateurs/utilisatrices d’accéder à XML-RPC en mettant sur liste autorisée leurs adresses IP.

The Disable XML-RPC-API Plugin Settings

Tester que le XML-RPC de WordPress est désactivé

Confirmez maintenant 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. Confirmez que vous remplacez « exemple.com » par le nom de domaine de votre site.

Si XML-RPC est désactivé, vous devriez voir le message d’erreur : ‘Interdit : Vous n’avez pas le droit d’accéder à cette ressource’.

Nous espérons que cet article vous a aidé à apprendre comment désactiver facilement XML-RPC dans WordPress. Vous voudrez peut-être aussi apprendre comment installer Google Analytics dans WordPress, ou consulter notre liste de logiciels de discussion en direct pour les petites entreprises.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Divulgation : Notre contenu est soutenu par les lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons gagner une commission. Consultez comment WPBeginner est financé, pourquoi cela compte et comment vous pouvez nous soutenir. Voici notre processus éditorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

L'ultime WordPress Toolkit

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tous les professionnels devraient avoir !

Reader Interactions

47 commentairesLaisser une réponse

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Jiří Vaněk says

    Thank you for the snippet. In the end, I disabled XML-RPC using WPCode because it seemed like the easiest way, and I can also easily revert XML-RPC back. Great!

  3. Pete Mason says

    in htaccess, the line:
    allow from 123.123.123.123
    Looks like it wants to be edited with my IP address. But this is not stated anywhere —?

    • WPBeginner Support says

      Blocking would attempt to limit access to the feature while disabling would turn it off completely. If you disable it you wouldn’t need to worry about someone accessing it through a different method.

      Administrateur

  4. Rashmi K says

    The recomnended plugin Disable XML-RPC has not been updated since last 2 years. It says the plugin has not been tested with the last 3 releases of wordpress.

  5. Nikhil says

    Hi,

    Will disabling the xmlrpc.php access also disable the access to wordpress apis used for android/ios app development?

  6. Vyom says

    Found the solution:
    Adding following information in nginx config:
    # nginx block xmlrpc.php requests
    location /xmlrpc.php {
    deny all;
    }

  7. Vyom says

    I use nginx instead of Apache. Can I still use .htaccess on my site?
    And do I need to store this file in public_html directory, or one level above it?

    • WPBeginner Support says

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

      Administrateur

  8. malcolm says

    why would we allow 123.123.123.123 ?

    If we aren’t using the service at all, why not let « deny all » be absolute?

    • Edward says

      If i’m reading the code correctly;
      order deny,allow – puts deny before allow, since deny is ‘all’ then allow isn’t processed
      deny from all – does what it says
      allow from 123.123.123.123 – is a place holder

      I gather that if you have a fixed IP address you could change order to « allow,deny » and replace 123.123.123.123 with your IP address. That would allow your IP then deny all others.

  9. David Hoy says

    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 :-)

    Me an my .htaccess are going to have a little chat about htpasswrd and this here XMLRPC thingy my clients will never need.

    You all just made my corner of the net a little bit safer, as MailChimp would say: High Fives!

  10. Cezar says

    Ok, i will use this code but i want IFTTT to have work on my website what i need to add?

    # Block WordPress xmlrpc.php requests

    order deny,allow
    deny from all
    allow from 123.123.123.123

  11. PhilB says

    Hi,

    I have followed the instructions to block the xmlrpc.php file using .htaccess but im not sure if it is working.

    Im using wordfence security and in the live traffic view i can see the requests for the xmlrpc.php file have stopped, but if i check my access logs

    tail -f /apache2/logs/access_log

    I can still see the requests coming in, but the code at the end has changed from 500 to 403. Im concerned im getting a false report from my WordFence plugin and that im still being flooded with spam. Can anyone advise?

    Thanks,

    PhilB

    • David Hoy says

      Oh yeah! Thats working perfectly, your XMLRPC is FORBIDDEN!

      HTTP Status Code 403: The server understood the request but refuses to authorize it.

  12. Raymundo says

    I got a weird problem…

    I’m using my wordpress blogs with IFTTT and all worked fine, until I integrated it with MaxCDN; IFTTT immediately stopped working. I did some research and the problem might be related to XML-RPC that was de-activated.

    When I check my dashbord in « Settings » > « Writing » , I don’t see anything like XML-RPC, Remote Publishing, etc. I’ve checked database in options, also xml-rpc not available / missing.

    I need to activate XML-RPC to keep my IFTTT working.

    How do I re-activate XML-RPC; all I need is a script that I can add in .htaccess or functions.php to activate XML-RPC.

    And why am I missing the XML-RPC funtionality in my dashboard.

    Thank You!

  13. Muhammad Ammar Ashfaq says

    I was searching for how to add this file xmlprc.php to my wordpress i am using 4.5.3 version and i came to this page. I need to add this php file because when i enable jetpack i got error of site_inaccessible. Please tell me hot to resolve this error my site is

    • WPBeginner Support says

      Connect to your WordPress site using FTP client or File Manager in cPanel. In your website’s root directory look for xmlrpc.php file. If it is there, then try step 2. If it isn’t then download a fresh copy of WordPress. Unzip and extract it and upload xmlrpc.php file back to your site’s root directory.

      Step 2: Check your WordPress theme’s functions file for the code that disables XML-RPC.

      Step 3: Check your .htaccess and wp-config files.

      Administrateur

  14. omonaija says

    Please,what can i do to enable xmlrpc on my site?because i can’t login using wordpess mobile app on my smartphone..

  15. Mook says

    Booyah! This WP filter fixed the script kiddie attack. I still firewalled the person, but I don’t have to watch the logs like a hawk to add more IPs to the firewall. THANK YOU.

  16. Chad says

    I’m totally onboard for disabling xmlrpc.php server wide in my /etc/httpd/conf/includes/pre_main_global.conf file. But I am left with this questions…is there a way to determine that a particular plugin « NEEDS » xmlrpc.php in order to work? I have concerns with blocking access to it and then having an issue 2 months down the road and not know that the issue is with the fact that I blocked xmlrpc.php previously.

    Are there any common signs to look for in a log file or such which would point to a xmlrpc.php block as the cause?

  17. Phranq says

    Hey am using WordPress app to post with my android smartphone. Now I can’t login and my login credentials are correct. The response I got was  » we can’t log you in couldn’t connect to the WordPress site ».Could you help me fix this WordPress app login error.

    • WPBeginner Support says

      If you had disabled XML RPC then you may not be able to login using WordPress mobile app. Look in your theme’s functions.php file for this code

      add_filter('xmlrpc_enabled', '__return_false');

      If it is there, then you need to remove it. You can also try deactivating plugins and turning them on one by one until you find the plugin that is stopping you from login using WordPress mobile app.

      Administrateur

  18. Josiah says

    It’s worth noting, that « allow from 123.123.123.123 » is optional, and if used should be updated to include your IP, or the IP of the device that needs access to xmlrpc.php (it would be good to cite examples in this article).

  19. Natalie says

    I am using GoodbyeCaptcha plugin to turn off the XML-RPC and works with no problem while Jetpack is activated.
    Hope it helps

  20. ATI says

    Sorry, I’ve tried this method many times. It didn’t work for me – in fact it brought the front end down (blocking visitors read access to the web page) after adding these codes to the .htaccess file.

  21. Christopher Ross says

    Keith, there’s a trend in WordPress to move non-theme related functions out of the functions.php file and into a « site specific plugin », basically a plugin that you only activate on one unique website and it stores the non-theme related functions for that site.

    You can accomplish the same thing by placing the code in your functions.php file.

  22. Keith Davis says

    Hi Guys
    Sorry to be a bit thick but could you expand on… « All you have to do is paste the following code in a site-specific plugin: »

    Which plugins are site specific?

Laisser une réponse

Merci d'avoir choisi de laisser un commentaire. Veuillez garder à l'esprit que tous les commentaires sont modérés selon 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.