Gibt es eine Möglichkeit zu verhindern, dass angemeldete oder nicht angemeldete Besucher erreichen mysite.com/wp-login.php
?
Ich habe ein separates Anmeldeformular, das alles ist, was wir brauchen. Ich weiß, dass ich das von generierte Formular neu gestalten kann, wp-login
aber ich möchte mich lieber überhaupt nicht damit befassen müssen. Ich habe verschiedene Filter und Hooks ausprobiert und kann sie anscheinend nicht umleiten. Ich habe auch versucht, eine .htaccess
Umleitung zu verwenden, und festgestellt, dass dies funktioniert, aber dann verhindert es, dass mein benutzerdefiniertes Anmelde- / Abmeldeformular funktioniert.
Ideen?
wp-login-form
jchwebdev
quelle
quelle
Antworten:
Nachdem Sie diese Frage gefunden und einige der Antworten getestet haben, ist das Folgende eine "bereinigte" Version dessen, was ich in einer Produktionsumgebung verwende.
Diese Version gibt keine Hinweise / Fehler aus und ermöglicht auch das Zurücksetzen von Passwörtern:
quelle
echo "HERE";
die Funktion eingeben? Echo es?$_GET['action']
es für mich leer ist. Das Formular wird an/wp-login.php
(ohne GET-Variablen in der URL) gesendet, und wenn Sie sich die Quelle ansehen, gibt es nicht einmal einen eingegebenen Namenaction
, der sogar$_REQUEST['action']
leer ist.Versuchen Sie dies in der functions.php Ihres Themas
quelle
Fügen Sie eine GET-Variable für die Abmeldeaktion hinzu, und es funktioniert einwandfrei.
quelle
Ich benutze das WordPress-Plugin Rename wp-login.php seit einiger Zeit .
Sie können
wp-login.php
zu einem anderen Pfad wechseln . Ich hatte Bots, die meine Anmeldeseiten zuschlagen, und jetzt bekomme ich null Treffer.quelle
WP-Login übernimmt das Anmelden, Abmelden, Registrieren, Zurücksetzen des Passworts und Abrufen. Angenommen, Sie möchten die Front-End-Anmeldeseite ändern. Sie können den folgenden Code sicher verwenden:
Dieses Code-Snippet wird:
quelle
home_url()
fügt bereits einen führenden Schrägstrich hinzu, daher ist dies nicht erforderlich. Außerdem$pagenow
ist (a) ein Global, das nur beim Administrator vorhanden ist (und möglicherweise beim Login), und (b) sollte durchget_current_screen()
Eigenschaftsprüfungen ersetzt werden.Dies wird zu / login anstelle des fiesen wp-login-Formulars umleiten.
quelle
Wenn Sie
wp-login.php
vor Fremden schützen möchten, die es überhaupt sehen können, ist es am einfachsten, eine Autorisierung (Basisauthentifizierung) für den Zugriff zu benötigenwp-login.php
.In Apache wird die Authentifizierung über eine Kombination aus htaccess und einer Kennwortdatei implementiert . Wenn jemand innerhalb einer Browsersitzung zum ersten Mal versucht, auf ihn zuzugreifen
wp-login.php
, wird er aufgefordert, einen Benutzernamen und ein Kennwort einzugeben (vor der WordPress-Anmeldung).Zur Vereinfachung können dieser Benutzername und dieses Kennwort für jede Person, auf die Sie Zugriff gewähren möchten, gleich sein
wp-login.php
, da sie nach erfolgreichem Überschreiten des ersten Dialogfelds für die Authentifizierung noch ihre WordPress-Anmeldung eingeben müssen.quelle
Ersetzen Sie
$pageid
durch die Seite, auf die Benutzer umgeleitet werden sollenquelle
Beispiel meine benutzerdefinierte Anmeldeseite. Speichern Sie login.php und geben Sie Code ein
im
functions.php
quelle