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 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.

Ab WordPress 4.7 wurden die Filter zum Deaktivieren der REST-API entfernt. Um dies zu kompensieren, wird dieses Plugin zwangsweise einen Authentifizierungsfehler an alle API-Anfragen von Quellen zurückgeben, die nicht auf deiner Website angemeldet sind. Was effektiv immer noch verhindern wird, dass nicht autorisierte Anfragen die REST-API benutzen, um Informationen von deiner Website zu erhalten.

Für die WordPress-Versionen 4.4, 4.5 und 4.6 benutzt dieses Plugin den Filter rest_enabled, der von der API zur Verfügung gestellt wird, um die API-Funktionalität zu deaktivieren. Es wird jedoch dringend empfohlen, dass alle Website-Besitzer die neueste Version von WordPress verwenden, es sei denn, dies ist absolut notwendig.

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.

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.“

Deaktiviert dieses Plugin alle installierten REST-APIs?

Dieses Plugin ist NUR dazu gedacht, Endpunkte zu deaktivieren, auf die über die standardmäßige REST-API zugegriffen werden kann, die Teil von WordPress selbst ist. Falls ein Plugin oder ein Theme beschließt, seinen Namensraum mit der Kern-REST-API zu registrieren, werden seine Endpunkte – standardmäßig –
deaktiviert sein, solange dieses Plugin aktiv ist. Namensräume und Routen können über die Einstellungsseite dieses Plugins auf eine Whitelist gesetzt werden.

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!
Lies alle 22 Rezensionen

Mitwirkende & Entwickler

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

Mitwirkende

„Disable REST API“ wurde in 6 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.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