Disable REST API

Description

** La version 1.4 supporte désormais la liste blanche des routes individuelles dans l’API REST **

Le moteur de l’API existe dans WordPress depuis la version 4.4, mais les fonctionnalités additionnelles et les points de terminaison sont la continuité du projet. Bien que ce soient des nouveautés très intéressantes pour de nombreuses raisons – ainsi de nombreuses extensions, thèmes et mêmes des parties de WordPress commencent à utiliser l’API REST – ce ne sont pas non plus des fonctionnalités que tous les administrateurs de sites vont activer sur leur site web si ce n’est pas nécessaire.

À 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+)

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

Instructions d’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
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

Perfect

Does exactly what I want it to do. It disables the REST API completely for non-authenticated users.

Download, install and rest

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.

Necessary

Since the disable REST filter was so wisely disabled *sarcasm*, this plugin is a necessary tool. It’s unconscionable to provide a whole new huge attack surface with the REST API, provide a filter to disable it and then suddenly remove that filter. WTF. Millions of WP sites running 4.7 and 4.7.1 are now defaced because of hubris by the core developers. Years of work to improve WordPress’s reputation for insecurity undone by one irresponsible decision.

Perfect

Install, activate and you’re done!

Works perfectly on all the calls I tested it with…

Lire les 18 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 4 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.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