Im Gegensatz zur reinen wp-login.php Datei kann man auch das komplete wp-admin Verzeichnis schützen. Hierbei gibt es allerdings eine kleine Besonderheit. Du musst ggfs. je nach Plugins, die du nutzt, die Datei admin-ajax.php ausklammern.
Ein Beispiel dafür sind Plugins wie Borlabs Cookie, oder auch das Amelia Booking Plugin, sowie andere. Diese benötigen zwingend den Zugriff auf die admin-ajax.php – zum Beispiel kannst du ohne Zugriff auf diese Datei den Frontend Terminkalender nicht anzeigen. Borlabs Cookie auf der anderen Seite benötigt Zugriff auf die admin-ajax.php, da ohne diesen Zugriff die Cookies nicht gesetzt werden.
Wenn du dein wp-admin Verzeichnis schützen willst, ohne dabei den Zugriff auf die admin-ajax.php Datei zu ermöglichen, kann es bei gleichzeitiger Nutzung von Borlabs Cookie sogar dazu kommen, dass dir eine Passwortabfrage angezeigt wird unterhalb deiner Cookiebox. Dir als Admin mag es egal sein, doch für deine Nutzererfahrung ist es ein No-Go.
Welchen Code kanst du jetzt eingeben, um dein wp-admin Verzeichnis zu schützen?
Gib folgendes in die .htaccess Datei ein, die du im wp-admin Verzeichnis platzierst:
### wp-admin Verzeichnis schützen Beginn ###
# Diese Datei kommt als .htaccess in den Ordner wp-admin deiner WordPress Installation
# Deine .htpasswd Datei hast du bereits erstellt.
AuthType Basic
AuthName "Members Only"
# Die htpasswd Datei sollte durch deinen Webbrowser lesbar sein, also achte auf die richtigen Rechte!
AuthUserFile /passe/den/pfad/an/zu/deinem/htpassword/Verzeichnis/.htpasswd
Require expr %{REQUEST_URI} !~ m#^admin-ajax.php.*$#
require valid-user
### wp-admin Verzeichnis schützen Ende ###
Passe die Pfade entsprechend an. Sonst funktioniert das nicht.
Mehr Informationen zum Schutz deiner WordPress Installation findest du hier: Wie man die WP Config Datei schützen kann. Grundsätzlich ist es eine gute Idee, nicht nur die wp-login.php zu schützen, sondern das gesamte wp-admin Verzeichnis. In diesem Fall muss jeder, der in deinen Adminbereich möchte, zusätzlich zu seinem Benutzerpasswort auch noch eine zweite Absicherung erfüllen. Jeder zusätzliche Schritt ist ein weitererer Schritt, mit dem du es Angreifern deiner WordPress Seite schwerer machst. Zusätzlich zu entsprechender Absicherung mit Dateischutz kannst du – und das empfehle ich jedem – auch eine Firewall installieren. All diese Schritte helfen dir, deine Website sicherer zu machen. Gerade in der heutigen Zeit, wo selbst WordPress einen eigenen Artikel geschrieben hat zum Thema Brute-Force-Attacken, ist das Absichern deines wp-admin Verzeichnisses ein zusätzlicher Schutz.
Wenn du Fragen hast, komm gern auf mich zu oder hinterlasse einen Kommentar.