Disable REST API

Description

The most comprehensive plugin for controlling access to the WordPress REST API!

Works as a « set it and forget it » install. Just upload and activate, and the entire REST API will be inaccessible to
your site visitors. Or if you have a plugin or theme installed which needs some of its endpoints to be accessible to
site visitors, you can do that too. Go to the Settings page and you can quickly whitelist individual endpoints – or
entire branches of endpoints – registered with the REST API.

The engine for the API has existed in WordPress since v4.4 and additional functionality and endpoints are a
continual project. While this is very exciting news for many reasons, it is also not functionality that every site
admin wants enabled on their website if not necessary.

À partir de WordPress 4.7, les filtres fournis pour désactiver l’API REST ont été supprimés. Pour compenser, cette extension retournera de force une erreur d’authentification à toutes les demandes d’API provenant de sources qui ne sont pas connectées à votre site, ce qui empêchera efficacement les demandes non autorisées d’utiliser l’API REST pour obtenir des informations de votre site.

Pour les versions 4.4, 4.5 et 4.6 de WordPress, cette extension utilise le filtre rest_enabled fourni par l’API pour désactiver la fonctionnalité de l’API. Cependant, il est fortement recommandé que tous les propriétaires de sites exécutent la version la plus récente de WordPress sauf s’il est absolument nécessaire d’en utiliser une autre.

Captures d’écran

  • Le JSON renvoyé par un site web où l’API est désactivée via des filtres (WP versions 4.4, 4.5 et 4.6)
  • Le JSON renvoyé par un site web où l’API est désactivée via des méthodes d’authentification (WP versions 4.7+)
  • The Settings page lets you selectively whitelist endpoints registered with the REST API.

Installation

  1. Téléversez par FTP le répertoire disable-json-api dans votre répertoire /wp-content/plugins/
  2. Sinon, téléversez le fichier disable-json-api_v#.#.zip dans la page Ajouter des Extensions dans votre administration WordPress
  3. Activez-la via le menu Extensions dans l’admin WordPress

FAQ

Comment savoir si cette extension fonctionne ?

Tant que vous êtes connecté·es à WordPress comme n’importe quel utilisateur, l’API REST fonctionnera comme prévu. Pour cette raison, vous devez utiliser un nouveau navigateur – ou le mode Navigation privée de Chrome – pour tester votre site avec une session propre.
Accédez à votredomaine.com//wp-json/ (ou votredomaine.com/?rest_route=/ si vous avez désactivé les permaliens) sans vous connecter pour tester les résultats. Vous verrez une erreur d’authentification renvoyée si l’extension est active. « DRA : Uniquement les utilisateurs authentifiés peuvent accéder à l’API REST. »

Cette extension désactive-t’elle toutes les API REST installées ?

Cette extension est uniquement destinée à désactiver les points de terminaison accessibles via l’API REST par défaut qui fait partie de WordPress lui-même.
Si une extension ou un thème choisit d’enregistrer son espace de noms avec l’API REST principale, ses points de terminaison seront – par défaut – désactivés tant que cette extension est active. Les espaces de noms et les itinéraires peuvent être ajoutés à la liste blanche via la page Réglages de cette extension.

Avis

5 mars 2017
Does exactly what I want it to do. It disables the REST API completely for non-authenticated users.
17 février 2017
Thanks for creating this plugin. It was a pleasure to acquire and install. Let's hope the rest API evolves more safely in the upcoming releases.
Lire les 19 avis

Contributeurs & développeurs

« Disable REST API » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.

Contributeurs

“Disable REST API” a été traduit dans 6 locales. Remerciez l’équipe de traduction pour ses contributions.

Traduisez « Disable REST API » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.

Journal

1.5

  • Tested up to WP v5.3
  • Added enforcement for WordPress and PHP minimum version requirements
  • Fixed minor bug to prevent unintended empty routes
  • Minor text updates and adding textdomain to translation functions that didn’t have them

1.4.3

  • Added load_plugin_textdomain() for i18n

1.4.2

  • Fixed issue causing unintentional unlocking of endpoints when another WP_Error existed before this plugin did its job

1.4.1

  • Fixed echo of text URL to primary Plugins page in WP Dashboard

1.4

  • Tested for WP v4.8
  • Tested for PHP 5.3+
  • Added settings screen
  • Site Admins may now whitelist routes that they wish to allow unauthenticated access to
  • Added dra_allow_rest_api filter to the is_logged_in() check, so developers can get more granular with permissions
  • Props to @tangrufus for all of the help that went into this release

1.3

  • Tested for WP v4.7
  • Adding new functionality to raise authentication errors in 4.7+ for non-logged-in users

1.2

  • Tested for WP v4.5
  • Removal of actions which publish REST info to the head and header

1.1

  • Updated to support the new filters created in the 2.0 beta API

1.0

  • Initial Release