Comment désactiver l'API REST de votre site WordPress

Dans cet article, nous allons expliquer comment désactiver l’API REST de votre site WordPress de manière complète ou seulement pour certains endpoints.
Désactiver API REST WordPress
Table des matières

L’API REST de WordPress est un outil puissant qui permet aux développeurs d’interagir avec votre site de manière programmatique. Cependant, elle peut également représenter un risque pour la sécurité si elle n’est pas correctement gérée. Désactiver l’API REST, entièrement ou partiellement, peut aider à réduire les vecteurs d’attaque potentiels et à protéger les informations sensibles de votre site.

Pourquoi Désactiver l’API REST ?

Sécurité

L’API REST de WordPress permet aux développeurs d’interagir avec votre site de manière programmée. Cependant, elle peut également être une cible pour les attaquants cherchant à exploiter des vulnérabilités. Par exemple, des informations sur les utilisateurs et la structure de votre site peuvent être exposées, facilitant ainsi des attaques par force brute ou des exploits spécifiques. En désactivant l’accès non autorisé à l’API REST, vous réduisez ces risques en limitant les points d’entrée potentiels pour les attaquants.

Confidentialité

L’accès à l’API REST peut permettre à des tiers de récupérer des informations sensibles telles que les détails des utilisateurs, les métadonnées des publications et d’autres données importantes. Limiter l’accès à l’API REST aide à protéger ces informations, assurant que seules les personnes autorisées peuvent y accéder. Cela est particulièrement crucial pour les sites contenant des données privées ou sensibles, où la fuite d’informations peut entraîner des conséquences graves

Performance

L’utilisation intensive de l’API REST peut augmenter la charge sur votre serveur, affectant ainsi les performances globales de votre site. Chaque requête API consomme des ressources serveur, et des abus ou des requêtes fréquentes peuvent ralentir votre site pour les utilisateurs légitimes. En réduisant le nombre de requêtes API REST autorisées, vous pouvez améliorer la performance de votre site, en réduisant la charge serveur et en optimisant la vitesse de chargement des pages pour les visiteurs.

Désactiver Complètement l’API REST

Pour désactiver complètement l’API REST, ajoutez le code suivant dans le fichier functions.php de votre thème enfant ou dans un plugin spécifique au site :

add_filter('rest_authentication_errors', function($result) {
   if (!empty($result)) {
      return $result;
   }

   if (!is_user_logged_in()) {
      return new WP_Error('rest_not_logged_in', 'Vous devez être connecté pour accéder à l\'API REST.', array('status' => 401));
   }

   return $result;
});

Ce code empêche les utilisateurs non connectés d’accéder à l’API REST, offrant une couche de protection supplémentaire.

Désactiver Partiellement l’API REST

Si vous souhaitez désactiver uniquement les endpoints spécifiques à WordPress tout en gardant les endpoints personnalisés actifs, utilisez le code suivant :

add_filter('rest_endpoints', function($endpoints) {
   if (!is_user_logged_in()) {
      // Liste des endpoints à désactiver pour les utilisateurs non connectés
      $endpoints_to_disable = array(
         '/wp/v2/users',
         '/wp/v2/users/(?P<id>[\d]+)',
         '/wp/v2/comments',
         '/wp/v2/settings'
      );

      foreach ($endpoints_to_disable as $endpoint) {
         if (isset($endpoints[$endpoint])) {
            unset($endpoints[$endpoint]);
         }
      }
   }

   return $endpoints;
});

Ce code désactive l’accès aux endpoints spécifiés pour les utilisateurs non connectés, tout en laissant les autres endpoints disponibles.

Désactiver l’API REST en utilisant le plugin Securicheck Pro

Une autre méthode simple et efficace pour désactiver l’API REST est d’utiliser le plugin Securicheck Pro. Notre vous permet de désactiver entièrement l’API REST d’un simple clic ou de choisir de ne désactiver que les endpoints spécifiques à WordPress.

  1. Allez dans Securicheck > Réglages Sécurité.
  2. Pour désactiver entièrement l’API REST, cochez l’option ‘Désactiver l’API REST pour les utilisateurs non connectés ?’ puis ‘Désactiver l’API REST entièrement?’ et enregistrez les modifications.
  3. Pour désactiver seulement certains endpoints, sélectionnez l’option ‘Désactiver l’API REST partiellement ?’ et enregistrez les modifications.

Tester et Vérifier

Après avoir ajouté le code, il est important de tester votre site pour s’assurer que l’API REST est correctement désactivée ou partiellement restreinte comme souhaité. Vous pouvez utiliser des outils comme Postman ou simplement essayer d’accéder aux endpoints via le navigateur pour vérifier les résultats.

Conclusion

Désactiver l’API REST de votre site WordPress peut considérablement renforcer sa sécurité en limitant l’exposition des données sensibles et en réduisant les vecteurs d’attaque. Que vous choisissiez de désactiver complètement l’API ou seulement certains endpoints, ces mesures contribueront à protéger votre site.

En suivant ce guide, vous serez en mesure de sécuriser efficacement votre site WordPress en désactivant l’API REST. Si vous avez des questions ou des préoccupations, n’hésitez pas à nous contacter.

articles securicheck

Retrouvez tous nos tutoriels et astuces. Nous vous aidons à sécuriser votre site Internet WordPress. N’hésitez pas à nous contacter pour toute question ou demande.

Securicheck Pro
Le Plugin WordPress qui sécurise votre site en un clic !