KEMBAR78
Comment désactiver l'API REST JSON dans WordPress (2 méthodes faciles)
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 l'API REST JSON dans WordPress

Nous avons récemment reçu une question d'un lecteur que nous entendons assez souvent ici : « Comment désactiver l'API REST sur mon site WordPress ? » Et honnêtement, c'est une préoccupation valable.

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.

Cependant, pour de nombreux propriétaires de sites qui n'ont pas besoin de ces fonctionnalités avancées, l'API peut sembler un ajout inutile qui ouvre potentiellement leur site à des risques de sécurité.

Dans cet article, nous vous montrerons comment désactiver facilement l'API REST JSON dans WordPress.

Désactiver l'API JSON REST dans WordPress

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

Il est indéniable que l'API offre de nombreux avantages aux développeurs WordPress. L'API permet de récupérer très facilement des données à l'aide de requêtes GET, ce qui est utile pour ceux qui créent des applications avec WordPress.

Cela dit, cela pourrait potentiellement exposer votre site Web à un nouveau front d'attaques DDoS. Cela peut également être gourmand en ressources et ralentir votre site Web WordPress.

Désactiver l'API REST JSON est similaire à désactiver XML-RPC, que de nombreux administrateurs de sites désactivent sur leurs sites WordPress par mesure de sécurité.

Cela dit, nous vous montrerons deux méthodes pour désactiver facilement l'API REST JSON dans WordPress. Utilisez simplement les liens rapides ci-dessous pour accéder à la méthode que vous souhaitez utiliser :

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

En ce qui concerne la modification des fonctionnalités de WordPress, l'utilisation d'extraits de code est souvent la meilleure approche. Cependant, modifier directement le fichier functions.php de votre thème peut être risqué et pourrait casser votre site s'il n'est pas fait correctement.

C'est pourquoi nous recommandons d'utiliser le plugin WPCode pour désactiver l'API REST JSON dans WordPress.

C'est le même plugin que nous utilisons sur nos propres sites Web pour ajouter facilement du code personnalisé dans WordPress sans modifier les fichiers du thème.

Pour en savoir plus sur la façon dont nous utilisons le plugin, consultez notre revue complète de WPCode.

WPCode

De plus, WPCode 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'installer plusieurs plugins à usage unique pour différentes tâches.

Pour commencer, vous devez installer et activer le plugin gratuit WPCode. Pour des instructions étape par étape, lisez notre guide sur comment installer un plugin WordPress.

Note : La version gratuite de WPCode contient tout ce dont vous avez besoin pour ajouter facilement du code personnalisé dans WordPress. Mais, si vous souhaitez des fonctionnalités avancées comme une bibliothèque de snippets dans le cloud privé, des snippets spécifiques à la page et à l'appareil, des révisions de code, et plus encore, vous pouvez passer à WPCode Pro.

Une fois le plugin activé, allez dans Snippets de code » Bibliothèque depuis votre tableau de bord WordPress.

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

Sélectionnez Désactiver l'API REST WordPress dans WPCode

Le plugin ajoutera alors automatiquement le code pour vous, et il sélectionnera également la méthode d'insertion appropriée.

WPCode ajoute automatiquement le snippet Désactiver l'API JSON REST

Tout ce que vous avez à faire est de basculer le commutateur de « Inactif » à « Actif ».

Ensuite, cliquez sur le bouton « Mettre à jour ».

Passez l'extrait de code à Actif et cliquez sur Mettre à jour dans WPCode

C'est tout. 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 un plugin

Vous pouvez également désactiver facilement l'API REST JSON à l'aide d'un plugin dédié.

La première chose à faire est d'installer et d'activer le plugin Disable REST 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 il n'y a aucun réglage à configurer.

Lors de l'activation, le plugin renverra de force une erreur d'authentification à toute requête API provenant de sources qui ne sont pas connectées à votre site web.

Cela empêchera efficacement les requêtes non autorisées d'utiliser l'API REST pour obtenir des informations de votre site web.

Vous pouvez tester cela en visitant la page http://example.com/wp-json. Assurez-vous de vous déconnecter de la zone d'administration WordPress d'abord, ou de passer votre navigateur en mode incognito.

N'oubliez pas de remplacer example.com par votre propre nom de domaine. Vous verrez ce message, indiquant que les requêtes API REST sont bloquées.

API REST désactivée

C'est tout, vous avez désactivé avec succès les requêtes API REST non autorisées sur votre site WordPress.

Au lieu de désactiver l'API REST WordPress, vous pouvez choisir de désactiver uniquement les liens de l'API REST. Cela masque les points d'accès de l'API du code source de votre site WordPress sans désactiver complètement l'API REST.

Avec cette méthode, vous pouvez améliorer la sécurité en rendant les points de terminaison plus difficiles à trouver, tout en conservant le fonctionnement normal de toutes les fonctionnalités de WordPress. C'est un choix populaire parmi les développeurs car il ajoute de la sécurité sans casser les thèmes ou les plugins qui ont besoin de l'API REST pour fonctionner.

Pour ce faire, vous devez installer et activer le plugin WPCode. Si vous avez besoin d'aide, consultez notre tutoriel sur comment installer un plugin WordPress.

Après l'activation, accédez à Extraits de code » Bibliothèque depuis votre tableau de bord WordPress.

À partir de là, recherchez l'extrait 'Désactiver les liens de l'API REST'. Lorsque vous le trouvez, survolez-le et cliquez sur le bouton 'Utiliser l'extrait'.

Recherchez le snippet Désactiver les liens REST API dans la bibliothèque WPCode

Après cela, WPCode ajoutera automatiquement l'extrait de code et sélectionnera la méthode d'insertion appropriée.

WPCode ajoutera le code pour désactiver les liens REST API

Maintenant, tout ce que vous avez à faire est de passer le commutateur de 'Inactif' à 'Actif'.

Enfin, cliquez sur le bouton 'Mettre à jour'.

Passez l'extrait de code à Actif et cliquez sur Mettre à jour dans WPCode

C'est aussi simple que cela. Désormais, les liens de l'API REST seront désactivés sur votre site Web WordPress.

Nous espérons que cet article vous a aidé à apprendre comment désactiver l'API REST JSON dans WordPress. Les utilisateurs soucieux de la sécurité voudront peut-être également consulter ces conseils sur la protection de la zone d'administration WordPress, ou consulter notre sélection d'experts des meilleurs plugins de sauvegarde 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

41 CommentsLeave a Reply

  1. J'apprécie particulièrement les deux méthodes que vous avez décrites, en particulier l'approche basée sur le code utilisant WPCode. En tant que propriétaire de site, j'ai hésité à désactiver l'API en raison de ses avantages, mais votre explication des risques potentiels de sécurité m'a fait reconsidérer.
    Je suis intéressé par le plugin WPCode et sa capacité à gérer les extraits de code personnalisés en toute sécurité. Je vais certainement explorer davantage cet outil pour implémenter d'autres personnalisations WordPress sans encombrer mon site avec des plugins à usage unique.
    Merci pour cela. WPBeginner est LE MEILLEUR !

  2. J'apprécie la clarté de ce tutoriel sur la désactivation de l'API REST JSON dans WordPress. Cependant, je me demande si la désactivation complète de l'API est la meilleure approche compte tenu de ses avantages potentiels pour la fonctionnalité du site Web et l'intégration avec d'autres services.

    • Cela dépendrait du propriétaire du site pour savoir si c'est le mieux pour ses besoins ou non, ou s'il a rencontré un problème lors de son utilisation.

      Admin

      • Merci. Je suppose qu'il est essentiel de peser les risques de sécurité potentiels par rapport aux avantages de l'API REST JSON en tenant compte des besoins et des circonstances uniques du propriétaire.

    • Salut Dayo Olobayo,
      La question est plutôt de savoir si vous utilisez cette API ou non. C'est la même chose qu'avec XML-RPC. Je ne l'utilise pas sur mon site web, donc je l'ai désactivée. Bien sûr, cela signifie que je ne peux pas me connecter au site web en utilisant, par exemple, l'application mobile WordPress, qui utilise XML-RPC pour se connecter. C'est toujours un compromis entre ce que vous voulez désactiver et ce que vous voulez autoriser. Toute API qui accepte des requêtes externes peut représenter un risque potentiel, et il s'agit simplement de savoir si vous voulez l'utiliser ou non.

  3. J'essaierais le plugin de désactivation dans l'environnement de développement avant la production, j'ai constaté que son installation avait cassé certaines fonctionnalités

    • Si vous avez de nombreux plugins et outils différents et un environnement de test, il serait certainement bon de tester de nouveaux plugins et leur interaction avec votre site.

      Admin

  4. Similaire à un commentateur ci-dessus, j'ai remarqué la requête « wp-json » lors de l'utilisation de Pingdom et d'autres sites de test. Malheureusement, le mien prend plus de 10 secondes (oui, vraiment !!) à charger. Cela augmente le temps de chargement global de mon site Web et je ne parviens pas à trouver comment résoudre ce problème. Le plugin ne change rien du tout. Des suggestions ?

  5. Comment savoir si j'ai réellement l'API JSON sur mon site web ?
    Cet article sur la suppression est bien – si j'en ai besoin – mais j'ai souvent été alarmé par certains avertissements pour découvrir ensuite qu'ils ne s'appliquaient même pas à moi.

  6. Je déteste ajouter un autre plugin pour une tâche simple, et j'ai trouvé que nous pouvons désactiver cette fonctionnalité en ajoutant l'extrait de code suivant au fichier functions.php.

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

  7. Est-ce que cela concerne uniquement les blogs auto-hébergés ou aussi les sites de blog gratuits ? La plupart des extensions… etc. sont déjà configurés pour vous lorsque vous n'êtes pas auto-hébergé.

    PS Je ne m'abonne pas… je veux juste une réponse

  8. Comment puis-je vérifier si mon site a une API REST ? J'ai désactivé beaucoup d'options supplémentaires lorsque je l'ai configuré pour la première fois, mais maintenant je ne sais pas où chercher pour voir si elle est là. Je ne tiens pas à télécharger une extension inutilement.

    • Salut Elaine,

      Vous pouvez vérifier si l'API REST est activée sur votre site en visitant l'URL comme ceci : exemple.com/wp-json. Assurez-vous d'être déconnecté de WordPress avant de le faire. Si vous voyez beaucoup d'informations en texte brut, cela signifie que l'API REST est activée sur votre site. Suivez les instructions ci-dessus pour la désactiver.

      Admin

  9. La désactivation de l'API REST convient-elle aux sites de commerce électronique tels que WooCommerce ? Je crois comprendre que WooCommerce utilise beaucoup l'API REST.

    De plus, mes acheteurs n'ont pas à se connecter pour acheter, alors qu'advient-il de la transaction lorsqu'un appel d'API REST est rejeté ?

    Cordialement, Ken

  10. L'extension ne fait aucune différence pour moi dans WP 4.7.2. Avec l'extension activée ou désactivée, les pages exemple.com/wp-json (avec mon domaine remplaçant « exemple ») affichent une liste massive de paramètres pour mon site.

    • Hmmmm. Maintenant que j'y regarde, je ne vois la liste que dans Safari, tandis que Chrome et Firefox pour Mac affichent le message attendu spécifié dans cet article.

    • Bonjour,

      Assurez-vous d'être déconnecté de la zone d'administration de WordPress ou d'utiliser le mode incognito avant de tester la page exemple.com/wp-json. L'extension désactive l'accès à la page uniquement pour les utilisateurs non autorisés. En tant qu'administrateur, vous pourrez toujours la voir.

      Admin

  11. Salut les gars,

    Tout d'abord, merci beaucoup pour ce que vous faites ! J'ai tellement appris sur Wordpress grâce à vous et j'ai envoyé plein de monde dans votre direction !!

    Ok, j'ai installé le plugin, mais je ne vois pas ce que vous suggérez ci-dessus ? J'ai un écran plein d'informations… ?

    Des idées ?

    Merci !

    • Salut Audra,

      Veuillez vous déconnecter ou utiliser une fenêtre de navigation privée pour tester. Le plugin désactive uniquement l'accès pour les utilisateurs non connectés.

      Admin

  12. J'ai suivi ces étapes, mais quand j'ai voulu vérifier avec l'exemple, etc., j'ai obtenu 2 pages de code, pas la réponse montrée ci-dessus. Hmmm, je ne sais pas quoi faire.

  13. Lorsque j'ai effectué le test, je pense qu'il a échoué, car j'ai obtenu une tonne de données à l'écran. Une idée de ce qui n'a pas fonctionné ? J'ai installé le plugin comme décrit…

    • Fonctionne parfaitement lorsque je vérifie en utilisant une fenêtre de navigation privée. Merci pour l'explication concernant les utilisateurs autorisés vs non autorisés ou anonymes.

  14. Merci pour le conseil ainsi que pour le crochet pour désactiver XMLRPC.
    Y a-t-il une chance pour un crochet de filtre pour l'API REST également ?

  15. Lorsque je vérifie la vitesse de mon site en utilisant pingdom.com, la première entrée HTML qui a essayé de se charger affiche le lien comme mydomain.com/wp-json et elle a plus de 2 secondes de temps d'attente. Est-ce la même chose que ce dont parle cet article ? J'hésite à le désactiver simplement car je suppose qu'il sera utilisé à l'avenir. Une idée pourquoi cela ajouterait un délai de plus de 2 secondes au chargement de quoi que ce soit sur la page ?

  16. Hmm, l'API REST va devenir la méthode standard pour que les plugins et les thèmes effectuent des appels Ajax vers le serveur depuis le front-end, remplaçant admin-ajax, donc je ne la désactiverais pas… J'espère qu'ils échoueront gracieusement, mais vous finirez presque par manquer certaines fonctionnalités.

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

    • Plus de 50 000 sites WordPress ont été piratés en raison d'une faille de sécurité majeure découverte dans l'API REST de WordPress.

      • AÏE !

        C'est troublant à savoir. J'ai remarqué BEAUCOUP de tentatives d'accès dans les journaux de mon site.

        De plus,

        Je pense que les gens de WordPress auraient pu faire un peu mieux en laissant les utilisateurs décider dans quelle mesure, voire pas du tout, ils souhaitent exposer l'API REST.

        Encore,

        Encore plus de ce genre : « Les développeurs en savent PLUS sur les besoins des utilisateurs que les utilisateurs eux-mêmes ! » – Je n'étais pas non plus très content d'être obligé de prendre en charge les EMOJIS et les polices chargées à distance depuis fonts.google.com, même si mes sites ne les utilisent pas !

        L'API REST peut être une aubaine pour (certains) vrais développeurs d'applications web, mais qu'en est-il du reste d'entre nous qui ne l'utiliserons probablement pas ? ? ?

  17. Quelle est la probabilité qu'un plugin utilise cette fonctionnalité. Par exemple, les formulaires de contact l'utiliseraient-ils ? Je ne suis pas très enthousiaste à l'idée de le désactiver au cas où cela casserait quelque chose.

Laisser un commentaire

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.