mod_rewrite-Regeln von WP hebeln Schutz der wp-login.php aus
-
Hallo in die Runde!
Will man die Permalinks anders als in der Standardkonfiguration haben und ändert entprechend die htaccess-Datei (bzw. läßt diese durch WP ändern), so wird bekanntlich folgender Code generiert:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
Dieser sorgt unter anderem auch dafür, daß „index.php“ aus dem URL entfernt wird. So weit, so gut.
Schon lange wollte ich meine wp-login.php über die htaccess mit einer htpasswd-Datei absichern, was mir aber nie gelang, ohne in Erfahrung bringen zu können, wieso. Letztens war ich darüber aufgrund von rund tausend Angriffen pro Tag auf die wp-login.php derart frustriert, daß ich eine neue htaccess anlegte, die um die mod_rewrite-Regeln von WP bereinigt war und stattdessen ausschließlich den Code zum Schutz der wp-login.php mittels htpasswd-Datei enthielt:
#Absicherung wp-login <Files wp-login.php> AuthType Basic AuthName "Restricted Admin-Area" AuthUserFile /Pfad/zur/Datei/.htpasswd Require valid-user </Files>
Nun funktionierte der zusätzliche Schutz der wp-login.php plötzlich.
Wenn ich die mod_rewrite-Regeln wieder einfüge, funktioniert dieser Schutz nicht mehr. Es spielt auch keine Rolle, an welcher Stelle ich das einfüge.
Gleiches Verhalten tritt bei allen Regeln der 6G Firewall auf. Auch hier kann ich die Positionen der einzelnen Blöcke frei variieren, sie sind sofort wirkungslos, sobald der WP-Block eingefügt wird.Ich könnte notfalls auch ohne die mod_rewrite-Regeln von WP leben, möchte aber wenigstens den index.php-Teil aus den Permalinks verbannen und wie die Jahre zuvor das Format
/%year%/%monthnum%/%postname%/
verwenden, weiß aber eben nicht, wie ich das hinbekommen soll.
Derzeit habe ich eine Umleitungsregel als Notbehelf in die htaccess geschrieben:
RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/(?!page/)(.+)$ https://viehrig.net/index.php/$3
Der funktioniert immerhin, also bleibt meine Seite auch mit den bisherigen Verlinkungen ohne index.php im URL weiterhin erreichbar.
Aber eigentlich möchte ich es lieber umgekehrt, also von dem URL mit index.php auf einen ohne umleiten, doch dazu müßte dieser erst kreiert werden.Keine Ahnung, wie ich das machen soll, ohne die obigen Schutzmaßnahmen auszuhebeln. Hat jemand Vorschläge, die natürlich ohne weitere Plugins auskommen sollen?
- Das Thema „mod_rewrite-Regeln von WP hebeln Schutz der wp-login.php aus“ ist für neue Antworten geschlossen.