Disable REST API

Beschreibung

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 general site visitors.

But if you do need to grant access to some endpoints, you can do that too. Go to the Settings page and you can quickly whitelist individual endpoints (or entire branches of endpoints) in the REST API.

You can even do this on a per-user-role basis, so your unauthenticated users have one set of rules while WooCommerce customers have another while Subscribers and Editors and Admins all have their own. NOTE: Out of the box, all defined user roles will still be granted full access to the REST API until you choose to manage those settings.

For most versions of WordPress, this plugin will return an authentication error if a user is not allowed to access an endpoint. For legacy support, WordPress 4.4, 4.5, and 4.6 use the provided rest_enabled filter to disable the entire REST API.

Screenshots

  • Der JSON wird von einer Website zurückgegeben, deren API über Filter deaktiviert ist (WP-Versionen 4.4, 4.5, 4.6).
  • Der JSON wurde von einer Website zurückgegeben, deren API über Authentifizierungsmethoden deaktiviert wurde (WP-Versionen 4.7+).
  • The Settings page lets you selectively whitelist endpoints registered with the REST API, on a per-user-role basis.

Installation

  1. Lade das Verzeichnis disable-json-api per FTP in das Verzeichnis /wp-content/plugins/ hoch.
  2. Alternativ kannst du auch die Datei disable-json-api_v#.#.zip über die Seite „Plugins > Neu hinzufügen“ in deinem WordPress-Adminbereich hochladen.
  3. Aktiviere das Plugin in WordPress über das Menü ‚Plugins‘

FAQ

Wie weiß ich, dass das Plugin funktioniert?

Während du als Benutzer in WordPress angemeldet bist, funktioniert die REST-API wie vorgesehen. Aus diesem Grund musst du einen neuen
Browser – oder Chromes Inkognito-Modus – benutzen, um deine Website mit einer sauberen Sitzung zu testen. Gehe dazu zu yourdomain.com/wp-json/ (oder
yourdomain.com/?rest_route=/ wenn du hübsche Permalinks deaktiviert hast), während du NICHT ANGEMELDET bist, um die Ergebnisse zu testen. Du wirst
sehen, dass ein Authentifizierungsfehler zurückgegeben wird, wenn das Plugin aktiv ist. „DRA: Nur authentifizierte Benutzer können auf die REST-API zugreifen.“

Does this plugin disable every REST API that is installed on my site?

This plugin is ONLY meant to disable endpoints accessible via the core REST API that is part of WordPress itself. If a plugin or theme has implemented their own REST API (not to be confused with implementing their own endpoints within the WordPress API) this plugin will have no effect.

Rezensionen

20. April 2020
The plugin uses a is_user_logged_in() check to grant access to disabled REST API endpoints. I run a membership site for one year and just realized it now, that any logged in visitor STILL HAVE ACCESS to any disabled REST API endpoints. This should be very explicit, and there should be a setting in the plugin settings page to set the minimum role for the user to have access to the disabled endpoints.
14. Dezember 2019
A necessary plugin if you have a site for logged-in users. Thanks for this plug-in!
Alle 23 Rezensionen lesen

Mitwirkende & Entwickler

„Disable REST API“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Mitwirkende

„Disable REST API“ wurde in 12 Sprachen übersetzt. Danke an die Übersetzerinnen und Übersetzer für ihre Mitwirkung.

Übersetze „Disable REST API“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN Repository an oder abonniere das Entwicklungsprotokoll per RSS.

Änderungsprotokoll

1.7

  • Tested up to WP v5.8
  • Replace use of filemtime() with plugin version number for static file enqueues. Props @tangrufus for bringing this up!
  • Fixed logic bug for role-based default_allow rules. Props @msp1974 for the report!
  • Few small code-style updates

1.6

  • Tested up to WP v5.6
  • Added support for managing endpoint access on a per-user-role basis
  • Soooooooo many small changes behind the scenes to support the above

1.5.1

  • Tested up to WP v5.5

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

  • load_plugin_textdomain() für i18n hinzugefügt

1.4.2

  • Problem behoben, das unbeabsichtigtes Entsperren von Endpunkten verursachte, wenn ein anderer WP_Error existierte, bevor dieses Plugin seine Arbeit verrichtete.

1.4.1

  • Fehler behoben beim „echo der Text-URL“ zur primären Plugin-Seite im WP-Dashboard

1.4

  • Getestet für WP v4.8
  • Getestet mit PHP 5.3+
  • Bildschirm für Einstellungen hinzugefügt
  • Website-Administratoren können nun Routen auf der Whitelist auswählen, auf die sie unauthentifizierten Zugriff gewähren möchten.
  • dra_allow_rest_api-Filter zum is_logged_in()-Check hinzugefügt, so dass Entwickler granularer mit Berechtigungen arbeiten können.
  • Respekt vor @tangrufus für all die Hilfe, die in dieser Version geleistet wurde.

1.3

  • Getestet mit WP v4.7
  • Neue Funktionen zur Erhöhung von Authentifizierungsfehlern in 4.7+ für nicht angemeldete Benutzer hinzugefügt.

1.2

  • Getestet für WP v4.5
  • Entfernen von Aktionen, die REST-Informationen an den Header veröffentlichen.

1.1

  • Aktualisiert, um die neuen Filter zu unterstützen, die in der 2.0 Beta-API erstellt wurden.

1.0

  • Erste Version