Wichtiger Hinweis:
Durch das Deaktivieren der REST-API sendet das bekannte Kontaktformular „Contact Form 7“ keine Daten mehr an die hinterlegte Mailadresse. Das Statistik-Plugin „Independent Analytics“ zählt ebenfalls keine Besucher mehr. Bei Verwendung der v. g. Plugins bietet sich die hier beschriebene Lösung an.
Auch über die „JSON-API“ kann man den Benutzernamen herausfinden und muss als Hacker nur noch das Passwort knacken.
Zum Testen auf diese Sicherheitslücke hängt man an die eigene Adresse „/wp-json/wp/v2/users“ hinten an und ruft die Seite auf.
Beispiel:
https://meine.domain.de/wp-json/wp/v2/users
Es wird dann z. B. folgendes (Auszug; fiktiver Username max12) angezeigt:
[{"id":1,"name":"max12","url":"","description":"","link":"https:\...
Am Besten ist der Einbau des folgenden PHP-Codes in ein Snippet-Plugin:
add_filter( 'rest_authentication_errors', function( $result ) { if ( ! empty( $result ) ) { return $result; } if ( ! is_user_logged_in() ) { return new WP_Error( '401', 'not allowed.', array('status' => 401) ); } return $result; });
Nach Löschen von WordPress-und Browsercache erfolgt eine erneute Abfrage wie oben geschildert. Wenn alles richtig ist, zeigt der Browser diese Textzeile an:
{"code":"nfw_rest_api_access_restricted","message":"Forbidden access","data":{"status":403}}