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 l’API REST JSON dans WordPress

Un lecteur nous a récemment posé une question que nous entendons assez souvent par ici : « Comment désactiver l’API REST sur mon site WordPress ? » Et honnêtement, c’est une préoccupation valide.

Lorsque la version 4.4 de WordPress a été publiée avec l’API REST JSON, elle a ouvert un monde de possibilités pour les développeurs/développeuses. De nombreux propriétaires de sites la trouvent cependant inutile et s’inquiètent des vulnérabilités potentielles qu’elle introduit.

Dans cet article, nous allons vous afficher comment désactiver facilement l’API REST JSON dans WordPress.

Disable JSON REST API in WordPress

Pourquoi désactiver l’API REST JSON dans WordPress ?

Il est indéniable que l’API présente de nombreux avantages pour les développeurs/développeuses WordPress. L’API permet de récupérer très facilement des données à l’aide de demandes GET, ce qui est utile pour ceux qui construisent des applications avec WordPress.

Cela dit, cela peut potentiellement ouvrir votre site à un nouveau front d’attaques DDoS. Elle peut également être gourmande en ressources et ralentir votre site WordPress.

La désactivation de l’API REST JSON est similaire à la désactivation de XML-RPC, que de nombreux administrateurs de sites désactivent sur leurs sites WordPress par mesure de sécurité.

Nous allons vous afficher deux méthodes pour désactiver facilement l’API REST JSON dans WordPress. Utilisez simplement les liens rapides ci-dessous pour passer à la méthode que vous souhaitez utiliser.

Méthode 1. Désactiver l’API REST JSON dans WordPress avec du code (Recommandé)

Nous vous recommandons d’utiliser l’extension WPCode pour désactiver l’API REST JSON dans WordPress.

WPCode

WPCode permet d’ajouter facilement et en toute sécurité du code personnalisé dans WordPress, sans modifier le fichier functions.php de votre thème. Ainsi, il n’y a aucun risque de faire une erreur et de casser votre site.

De plus, il est livré avec une bibliothèque de code intégrée qui comprend des extraits de code vérifiés pour les demandes de fonctionnalités populaires telles que la désactivation de l’API REST, la désactivation de XML-RPC, et bien plus encore. Cela vous évite d’avoir à installer un tas d’extensions à usage unique.

Pour Premiers pas, vous devez installer et activer l’extension gratuite WPCode. Pour obtenir des instructions étape par étape, lisez notre guide sur l’installation d’une extension WordPress.

Note : La version gratuite de WPCode a tout ce dont vous avez besoin pour ajouter facilement du code personnalisé dans WordPress. Mais, si vous voulez des fonctionnalités avancées comme une bibliothèque d’extraits dans le cloud privé, des extraits spécifiques aux pages et aux appareils, des révisions de code, et plus encore, vous pouvez mettre à niveau vers WPCode Pro.

Une fois l’extension activée, rendez-vous dans la rubrique Code Snippets  » Bibliothèque de votre tableau de bord WordPress.

Ensuite, recherchez l’extrait « Désactiver l’API REST de WordPress » et cliquez sur le bouton « Utiliser l’extrait ».

Select the Disable WordPress REST API in WPCode

L’extension ajoutera alors automatiquement le code et sélectionnera la méthode d’insertion appropriée.

WPCode automatically adds the Disable JSON REST API snippet

Il vous suffit de permuter l’interrupteur de « Inactif » à « Actif ».

Cliquez ensuite sur le bouton « Mise à jour ».

Switch the code snippet to Active and click Update in WPCode

Voilà, c’est fait. L’API REST JSON est maintenant désactivée sur votre site WordPress.

Méthode 2. Désactiver l’API REST JSON dans WordPress avec une extension

Vous pouvez également désactiver facilement l’API REST JSON à l’aide d’une extension dédiée.

La première chose à faire est d’installer et d’activer l’extension Disable API REST. 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 il n’y a aucun réglage à effectuer.

Dès qu’il est activé, le plugin renvoie de force une erreur d’authentification à toute demande d’API provenant de sources qui ne sont pas connectées à votre site.

Cela empêchera efficacement les demandes non autorisées d’utiliser l’API REST pour obtenir des informations sur votre site.

Vous pouvez le tester en visitant la page http://example.com/wp-json. Confirmez que vous vous êtes d’abord connecté à la zone d’administration de WordPress ou que vous avez basculé votre navigateur en mode incognito.

N’oubliez pas de remplacer exemple.com par votre propre nom de domaine. Vous verrez ce message, indiquant que les demandes d’API REST sont bloquées.

REST API Disabled

C’est tout, vous avez bien désactivé les demandes d’API REST non autorisées sur votre site WordPress.

Nous espérons que cet article vous a aidé à apprendre comment désactiver l’API JSON sur WordPress. Les utilisateurs/utilisatrices soucieux de la sécurité peuvent également vouloir consulter ces astuces sur la protection de la zone d’administration de WordPress ou voir nos choix attendus des meilleures extensions de sauvegarde WordPress.

Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et 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

36 commentairesLaisser une réponse

  1. RJW

    I’d try the disable plugin in Dev environment before production, I found installing it broke some features

    • WPBeginner Support

      If you have many different plugins and tools and have a testing environment then it would definitely be good to test new plugins and how they interact with your site.

      Administrateur

  2. Ricky

    Similar to an above commenter, I’ve noticed the « wp-json » request when using Pingdom and other testing sites. Unfortunately, mine takes over 10 seconds (Yes really!!) to load it. This pushes my overall website load time and I can’t figure out how to fix this. The plugin doesn’t change it at all. Any suggestions?

  3. Janice

    How do I know if I actually have JSON API on my website?
    This article about removing it is good – if I need it – but I have often been alarmed by certain warnings only to find that they’ve not even applicable to me.

  4. Logan Cale

    I hate adding yet another plugin to do a simple tasks, and I found that we can disable this functionality by adding the following code snippet to the functions.php file.

    add_filter(‘rest_enabled’, ‘_return_false’);
    add_filter(‘rest_jsonp_enabled’, ‘_return_false’);

    • Margarit Koka

      Thank you bro, your answer is what I was looking when visiting this page.

    • Bobby C.

      Thank you! Straight to the point.

    • Hari

      I was looking for this code, it worked, thanks, I don’t prefer adding plugins.

  5. Michael

    Thanks for your help. There is no ‘add new’ option in my plugins.

  6. Lynne

    Thank you! Spot on :) worked for me

  7. J.L.

    Is this just for self hosted blogs or including free blog sites? Per mostly all plug ins…etc are done for you when you’re not self hosted

    PS I’m not subscribing…just want a response

  8. Elaine

    How can I check if my site has Rest API. I turned off a lot of extras when I first set it up but now don’t know where to look to see if it’s there. Not keen to download a plugin unnecessarily.

    • WPBeginner Support

      Hey Elaine,

      You can check if rest is api is enabled on your site by visiting the url like this example.com/wp-json. Make sure you are signed out of WordPress before doing that. If you see lots of information in plain text, then this means REST API is enabled on your site. Follow the above instructions to turn it off

      Administrateur

  9. Saransh Jain

    What about the option to disable json rest api in Jetpack plugin?

  10. Ken Dowling

    Is disabling REST API suitable for e-commerce sites such as WooCommerce? My understanding is that WooCommerce uses REST-API quite a bit.

    Further, my buyers do not have to login to buy, so what happens to the transaction when a REST API call is rejected?

    Regards, Ken

  11. D. Joe Chaffin

    Plug-in makes no difference for me in WP 4.7.2. With the plugin activated or disabled, the example.com/wp-json (with my domain replacing « example ») pages gives a massive list of settings for my site.

    • D. Joe Chaffin

      Hmmmm. Now that I look at it, I only see the list in Safari, while Chrome and Firefox for Mac show the expected message specified in this post.

    • WPBeginner Support

      Hi,

      Make sure you are logged out of WordPress admin area or use incognito mode before testing the example.com/wp-json page. The plugin disables access to the page only for unauthorized users. As an administrator you will still be able to see it.

      Administrateur

      • D. Joe Chaffin

        Embarrassed… You are right, of course.

  12. Audra Carpenter

    Hey Guys,

    First off thanks so much for what you do! I’ve learned so much about Wordpress from you and sent a ton of folks your way!!

    Ok, I installed the plugin, but I am not seeing what you suggest above? I have a full screen of information…?

    Thoughts?

    Thanks!

    • WPBeginner Support

      Hi Audra,

      Please logout or use incognito window to test. The plugin only disables access for non-logged in users.

      Administrateur

  13. Treasure

    I followed these steps, but when I went to check it with the example etc., I got 2 pages of code, not the response showed above. Hmmm, don’t know what to do.

    • Treasure

      Alright, I did it again and got the right message. Thanks!

  14. Doug Nix

    When I ran the test I think it failed, as I got a boatload of data on screen. Any idea what might have not worked? I installed the plugin as described…

    • Doug Nix

      Works perfectly when I check using an incognito window. Thanks for the explanation regarding authorised vs unauthorised or anonymous users.

  15. Laura Zielke

    Worked perfectly. Thank you!

  16. Karl

    Thanks for the tip as well as for the hook to disable XMLRPC.
    Is there a chance for a filter hook for the REST API as well?

  17. Andrew

    When I check the speed of my site using pingdom.com, the first html entry that tried to load shows the link as mydomain.com/wp-json and it has over 2 seconds of « wait » time. Is this the same as what this article is talking about? I’m hesitant to simply disable it since I would assume it will be used in the future. Any idea why it would add a 2+ second delay to loading anything on the page?

  18. Stephen Cronin

    Hmm, the REST API is going to become the standard way for plugins and themes to make Ajax calls back to the server from the front end, replacing admin-ajax, so I wouldn’t be disabling it… Hopefully they will fail gracefully, but you will almost end up missing some functionality.

    Also, if you really want to protect against DDoS attacks, you better disable html as well! ;)

    • reza

      ver 50,000 WordPress websites have been hacked due to a major security vulnerability that was discovered in the WordPress REST API.

      • Jim S Smith

        OUCH!

        That’s disturbing to know. I have noticed a LOT of access attempts in my site’s logs.

        What’s more,

        I think the folks at WordPress could have done a little better in letting the users decide how much, if at all, they want the REST API exposed.

        Again,

        More of this, « The developers know MORE about the user’s needs than the user does! » – I also was not too happy about being forced to support EMOJI and remote-loaded fonts from fonts.google.com, even though my sites do not use them!

        The REST API may be a boon for (some) actual web-application developers, but what about the rest of us who will not very likely use this? ? ?

  19. Kasey

    How likely is it that a plugin will be using this functionality. Just for example would contact forms be utilizing this? Not keen on turning it off in case it breaks anything.

    • WPBeginner Support

      The plugins will most likely notify you if they will be using it and you have it turned off.

      Administrateur

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.