Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv
 

Wordpress ist ein sehr beliebtes und mächtiges CMS. Vielen ist allerdings nicht bekannt dass standardmäßig das JSON-API von jedermann aufrufbar ist und damit die Möglichkeit besteht nicht öffentliche Informationen auszulesen. Bis eben war auch mir das nicht bewusst. Ein jeder der Wordpress benutzt sollte sicherstellen dass dieses JSOB-API nur nach einer Authentifizierung zugreifbar ist. Folgende Schritte sind dazu notwendig:

 

 

Zuerst muss man prüfen ob as JSON-API noch allgemein verfügbar ist. Man ruft in einem Browser die Seite https://<domain>/wp-json oder auch https://<domain>/index.php/wp-json und wenn man eine Antwort erhält ist es allgemein offen und sollte dringen geschlossen werden. Dazu muss in der Datei functions.php des jeweils genutzen Themes am Ende noch folgender Code angehängt werden:

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;
});

 Anschliessend testet man nochmal den Zugriff und sollte folgende Antwort erhalten:

{

   "code": 401, "message": "not allowed.", "data": {
      "status": 401
   }

}

 

Referenzen

FAQ developer.wordpress.org: https://developer.wordpress.org/rest-api/frequently-asked-questions/#can-i-disable-the-rest-api

 

 

 

 

 

Kommentar schreiben

*** Hinweis ***

Kommentare sind erwünscht. Aber um lästige Spamposts abweisen zu können gibt es ein paar Dinge die zu beachten sind:
  1. Kommentare mit dem Text http werden sofort zurückgewiesen mit der Meldung Sie sind nicht berechtigt den Tag zu verwenden. zz
  2. Kommentare werden manuell überprüft und es dauert deshalb in der Regel einen Tag bis sie veröffentlicht werden.

    Kommentare   
    #1 Hans 2024-03-14 23:32
    Hallo,
    ich habe deinen Code in zahlreichen Websites eingebaut und zunächst sah alles gut aus. Dann habe ich festgestellt,
    dass die Zugriffs-Statistik mit dem Plugin "Independent Analytics" nicht mehr geht. Die Ursache war dein Code.
    Auf der Suche nach Alternativen habe ich diesen Code (am Ende der Seite) gefunden, welcher die Statistik nicht blockiert: ...://de.moyens.net/wp-guide/so-deaktivieren-sie-die-json-rest-api-in-wordpress/
    Vielleicht kannst du es ausprobieren und deinen Code auf dieser Seite anpassen.
    LG Hans
    Zitieren