Wir alle hatten schon einmal das Vergnügen, dass wir bei einem Login-Versuch den falschen Usernamen oder das falsche Passwort eingegeben haben. Normalerweise taucht dann eine Fehlermeldung auf, welche uns sagt, dass etwas nicht stimmt und genau dort möchte ich ansetzen.
Bei einer standard WordPress Installation sieht die Fehlermeldung aus wie in Abbildung 1. (weiter unten).
Die Fehlermeldung gibt leider mehr Informationen preis, als uns lieb ist bzw. sein sollte. Sie sagt, dass für einen existierenden Usernamen das falsche Passwort eingegeben wurde.
Warum das schlecht ist
Jemand der unberechtigten Zugang zu unserem Backend erlangen möchte, wird so durch die Fehlermeldung mit mehr Informationen versorgt, als uns lieb sein sollte. Ausgestattet mit dem Wissen, dass „nur“ noch das richtige Passwort erraten werden muss, macht man es einem potenziellen Angreifer unnötig leicht, sich Zugriff zu verschaffen und nach Belieben Änderungen vorzunehmen. Selbst wenn unser Passwort sehr sicher ist, spielen wir einem Angreifer durch die Informationen in der Fehlermeldung ungewollt in die Hände.
Das wollen wir natürlich verhindern und zusehen, dass die Fehlermeldung aussieht wie in Abbildung 2.
WordPress ist dank seiner sehr offenen Art und Weise so freundlich und macht es uns recht leicht diese Information zu verbergen bzw. zu ändern. Um Die Nachricht zu ändern müssen wir der Datei function.php ein paar Zeilen Code hinzufügen.
Die function.php erreichen wir am einfachsten, wenn wir in unserem Backend nach dem Login auf den Reiter Design -> Editor klicken und die functions.php aufrufen.
Wenn wir die Datei geöffnet haben, suchen wir zuerst die schon vorhandenen Filter und fügen noch einen Weiteren hinzu. Dieser Filter spricht den WP-Hook (mehr dazu in einem anderen Post) ‚login_errors‘ an und führt im Anschluss die Funktion ‚falsche_logindaten‘ aus, welche im Code (weiter unten) darunter definiert ist. Die Funktion gibt nur einen String zurück, sprich eine Zeichenkette mit dem Inhalt „Die Eingabe ist nicht gültig!“ und ersetzt so die ursprüngliche Fehlermeldung.
add_filter( 'login_errors', 'falsche_logindaten'); function falsche_logindaten( $error ) { return "Die Eingabe ist nicht gültig!"; }Das war es dann schon!
Jetzt speichert man das Ganze noch ab und schon ist die Seite ein wenig sicherer als vorher.