Im WordPress-Backend kann man standardmäßig Plugin- und Theme-Dateien direkt bearbeiten. Um Missbrauch zu vermeiden, sollte man diese Editoren abschalten:
define('DISALLOW_FILE_EDIT', true);
Den Pfad /wp-json/wp/v2/users
deaktivieren, damit man die Benutzernamen nicht mehr auslesen kann.
add_filter('rest_endpoints', function( $endpoints ) { if ( isset( $endpoints['/wp/v2/users'] ) ) { unset( $endpoints['/wp/v2/users'] ); } if ( isset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ) ) { unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ); } return $endpoints; });
Many thanks to How to remove users from WP-JSON!
Bei Login-Fehler die Info, ob Benutzername oder Passwort falsch eingegeben wurde, ersetzen:
add_filter('login_errors',function($a) {return "Die Kombination aus Benutzername und Passwort ist falsch.";});
Benutzername deaktivieren, Login nur noch per E-Mail + Passwort zulassen (How to disable username and turn on email login only)
remove_filter('authenticate', 'wp_authenticate_username_password', 20, 3);