Disable REST API

Beschreibung

** Version 1.4 unterstützt jetzt Whitelisting von einzelnen Routen innerhalb der REST API **

Die Engine für die API existiert in WordPress seit v4.4, aber zusätzliche Funktionalität und Endpunkte sind ein
kontinuierliches Projekt. Während dies aus vielen Gründen sehr aufregende Neuigkeiten sind – und viele Plugins, Themes und sogar Teile des
WordPress-Core bereits beginnen, die REST-API zu verwenden – ist das keine Funktionalität, die jeder Website-Administrator auf
seiner Website freigeschaltet haben will, wenn es nicht wirklich notwendig ist.

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 verwenden, um Informationen von deiner Website zu erhalten.

Für die WordPress-Versionen 4.4, 4.5 und 4.6 verwendet 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+).

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

Installationsanweisungen
  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‘
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 Chrome’s Incognito-Modus – verwenden, 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 Namespace mit der Kern-REST-API zu registrieren, seine Endpunkte werden – standardmäßig –
deaktiviert sein, solange dieses Plugin aktiv ist. Namespaces und Routen können über die Einstellungsseite dieses Plugins auf eine Whitelist gesetzt werden.

Rezensionen

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…

Lies alle 18 Rezensionen

Mitwirkende & Entwickler

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

Mitwirkende

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