Kategorien
Sicherheit Seitenkomfort

/wp-admin sperren

Ob eine Internetseite mit dem Con­tent-Ma­na­ge­ment-Sys­tem Word­Press aufgebaut wurde, erkennt man in den allermeisten Fällen am schnellsten, wenn man in der Adresszeile des Browsers hinter die Web­site-Adres­se das Anhängsel /wp-admin eintippt. Dann landet man in der Regel auf einer Seite, die so aussieht:

WordPress-Loginformular

Ganz klar: Hinter einer solchen Website steckt WordPress! Man kann diese Anmeldeseite individuell gestalten, um sich von der Masse abzuheben. Man kann die Loginseite auch verstecken, so dass der oben beschriebene Testaufruf auf einer Fehlerseite landet. Dann erhalten registrierte Benutzer Zugriff auf den Verwaltungsbereich nur über eine Umleitungsseite. (Wie das geht, beschreibe ich in einem separaten Text.)

Aber warum in aller Welt sollte man die WordPress-Steuerseite /wp-admin komplett sperren? „Dann kann sich ja niemand mehr anmelden“, wirst Du sagen. Und damit hast Du natürlich vollkommen recht.

Word­Press-Ad­mi­nis­tra­tion sperren?

Natürlich geht es nicht darum, die Word­Press-Ver­wal­tung für Mitarbeiter an den Seiteninhalten zu sperren. Vielmehr gibt es Situationen, in denen es sinnvoll ist, bestimmte Benutzerrollen davon abzuhalten, sich in der Word­Press-Ad­mi­nis­tra­tion herumzutreiben.

Im letzten Beitrag hatte ich beschrieben, wie man es anstellt, damit angemeldete Abonnenten beim Besuch der Website den schwarzen Adminbar nicht zu Gesicht bekommen. (Wenn man zum Beispiel die Website nur angemeldeten Abonnenten anzeigen möchte, ist es sinnvoll, sie nicht mit Word­Press-In­ne­rei­en zu belästigen, mit denen sie ohnehin nichts anfangen können.)

Konsequent ist es in einem solchen Fall, diesen Abonnenten nicht nur den Adminbar vorzuenthalten, sondern überhaupt den Zugang in den Adminbereich zu sperren. Damit niemand auf die Idee kommt, es einmal mit /wp-admin zu versuchen, nur um danach auf einer weitgehend leeren Verwaltungsseite zu landen, die keine sinnvollen Funktionen bietet.

Wie geht das?

Lade aus dem Serververzeichnis Deines aktiven Themes die Datei functions.php mit Hife eines FTP-Programms auf Deinen PC herunter und öffne sie mit mit einem Texteditor. An das Ende dieser Datei, fügst Du vor der letzten Zeile ?> den folgenden Programmcode ein:

/**
* Zugriff von Nichtadmins auf wp-admin verhindern
*/
add_action( 'init', 'block_users' );

function block_users() {
     if ( ! current_user_can( 'administrator' ) && 
          ! is_admin() ) 
     ) {
           wp_redirect( home_url() );
           exit;
     }
}

Achtung: Dieser Code leitet alle angemeldeten Benutzer, die keine Administratorenrechte haben, auf die öffentliche Startseite um. Wenn man diese Umleitung lediglich auf Abonnenten beschränken möchte, kann man ! current_user_can( 'administrator' ) && ! is_admin() durch ! current_user_can( 'edit_posts' ) ersetzen. In diesem Fall haben Redakteure, Autoren und Mitarbeiter weiterhin Zugriff auf /wp-admin.

Danach lädst Du die abgeänderte Datei functions.php mit dem FTP-Programm von Deinem PC wieder hoch in das Themeverzeichnis auf Deinem Webserver.

Vorsicht: Beachte beim Bearbeiten und Hochladen unbedingt meine Hinweise im Beitrag zum Child-Theme. Denn mit der nächsten Aktualisierung des installierten Standardthemes werden alle Inhalte der Datei functions.php dort wieder durch die Standardinhalte überschrieben. Das kannst Du verhindern, indem Du ein Child-Theme anlegst und alle permanenten Änderungen dort einträgst.

***

Zusammenfassung: Wenn man für bestimmte Benutzerrollen den Zugang in den Administrationsbereich verbieten möchte, sind zwei Schritte sinnvoll. Zum einen sollte man den Word­Press-Ver­wal­tungs­bal­ken für solche Benutzer unsichtbar machen. Und zum anderen sollte man den Zugang selbst sperren, so wie es hier auf dieser Seite beschrieben wird.

Von Ulf Brossmann

Betreiber von und Autor der Beiträge auf WordPress fassbar. Eine Kurzbiografie von Ulf findest Du am unteren Ende der Seite über diese Website. Hier folgen nun alle Artikel, die Ulf bisher verfasst hat, in umgekehrt chronologischer Reihenfolge, also der neuste zuoberst:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert