Automatische WordPress Admin Login in PHP

Der heutige Beitrag wird nur ein kurzer sein, in dem ich Ihnen zeigen werde, wie Sie eine nette kleine Funktion auf Ihrer WordPress-Site installieren. Dies kann bei sicherer Verwendung sehr praktisch sein. Dies ist für die Verwendung auf WordPress-Sites vorgesehen, die ein generisches Konto für Benutzer bieten, bei dem sie sich anmelden können. Beispielsweise erstellt der Autor in vielen Backend-WordPress-Demos ein Demo-Konto, über das sich potenzielle Kunden anmelden und mit seinem Produkt spielen können. In den meisten Fällen zeigt der Autor einfach einen Hinweis an.


NUTZERNAME: Demo
PASSWORT: Demo

Das ist ein bisschen Fußgänger. Sicherlich können wir die Demo etwas schlanker und professioneller aussehen lassen? Ich werde Ihnen einen kurzen Ausschnitt geben, mit dem Sie sich automatisch mit diesen Anmeldeinformationen beim WordPress-Administrator anmelden können. Dies kann entweder in die Funktionsdatei Ihres Themas eingefügt oder in eine eigene Plugin-Datei eingefügt und aktiviert werden.

Dies könnte nützlich sein, wenn;

  • Ihre Website verfügt über ein generisches Konto, bei dem sich anonyme Benutzer anmelden können.
  • Sie möchten einen Anmeldelink mit einem Klick.
  • Sie möchten die Produktdemokonvertierung maximieren, indem Sie einen schnellen und effizienten Weg zur Demo bereitstellen und die erforderlichen Schritte minimieren.
  • Sie möchten Besucher direkt zum entsprechenden Ort leiten (z. B. Seite Einstellungen).

WICHTIG: Verwenden Sie diese Option niemals, um sich bei Konten mit wirklicher Leistung anzumelden. z.B. Administrator- / Editor-Konten usw..
Verwenden Sie dieses Snippet vorsichtig.

Ok, wie ich es in meinen anderen Tutorials getan habe, gebe ich Ihnen zuerst den vollständigen, kommentierten Code, damit diejenigen unter Ihnen, die keine Fans des Lesens sind, direkt damit experimentieren können. Das folgende Snippet wurde in Form eines eigenständigen Plugins gestaltet (meine persönliche Präferenz)..

Harri Bell-Thomas auf Github

/ *
Plugin Name: Auto Login
Plugin-URI: http://hbt.io/
Version: 1.0.0
Verfasser: Harri Bell-Thomas
Autoren-URI: http://hbt.io/
* /

Funktion autologin () {
// PARAMETER ZU PRÜFEN
if ($ _GET ['autologin'] == 'demo') {

// BENUTZERNAME KONTO, BEI DER SIE SICH ANMELDEN
$ creds ['user_login'] = 'demo';

// KONTO-PASSWORT VERWENDEN
$ creds ['user_password'] = 'demo';

$ creds ['Remember'] = true;
$ autologin_user = wp_signon ($ creds, false);

if (! is_wp_error ($ autologin_user))
Header ('Speicherort: wp-admin'); // LAGE ZUR UMLEITUNG
}}
}}
// CODE HINZUFÜGEN, BEVOR HEADERS UND COOKIES SENDEN
add_action ('after_setup_theme', 'autologin');

VERWENDUNGSZWECK

Dies ist sehr einfach zu bedienen. Der Benutzername und das Passwort des Kontos sind in der Plugin-Datei (Code oben) angegeben. Um sich anzumelden, müssen Sie nur besuchen. http://example.com/wp-login.php?autologin=demo

Sie sollten sofort zu wp-admin umgeleitet und in dem angegebenen Konto angemeldet sein. Wenn die Anmeldeinformationen jedoch falsch sind, sollte das Anmeldeformular wie gewohnt angezeigt werden.

ANPASSEN

Dieses Snippet ist sehr einfach anzupassen. Es gibt im Wesentlichen nur drei Dinge, die Sie bearbeiten müssen, und alle diese Änderungen müssen im folgenden Codeblock vorgenommen werden (Zeilen 11 bis 17 des vollständigen Codes).

if ($ _GET ['login'] == 'dummy_account') {

// BENUTZERNAME KONTO, BEI DER SIE SICH ANMELDEN
$ creds ['user_login'] = 'Dummy';

// KONTO-PASSWORT VERWENDEN
$ creds ['user_password'] = 'pa55word';

In der ersten Zeile sehen Sie die bedingte Überprüfung des URL-Parameters. Der obige Codeblock prüft auf; wp-login.php? login = dummy_account

Diese Werte können beliebig sein. Vermeiden Sie jedoch die ursprünglichen WordPress-Parameter wie “Abgemeldet”, “Aktion” und “Weiterleiten an”. In Zeile 4 geben Sie den Benutzernamen an, mit dem Sie sich anmelden möchten. Das angepasste Code-Snippet versucht, sich beim Dummy-Konto anzumelden. Wie Sie wahrscheinlich erraten können, geben Sie in Zeile 7 das Passwort an. Das obige Passwort lautet “pa55word”. Füllen Sie diese Werte aus und Sie sollten bereit sein zu gehen!

ERWEITERUNGEN

Momentan ist unser Snippet nur für die automatische Anmeldung bei einem Konto eingerichtet. Was ist, wenn wir unterschiedliche Anmeldelinks für unterschiedliche Konten wünschen? Dies ist recht schnell und einfach und erfordert nicht, dass Sie das gesamte Snippet immer wieder wiederholen. Schauen Sie sich unten meine Lösung an.

/ *
Plugin Name: Auto Login
Plugin-URI: http://hbt.io/
Beschreibung: Erstellen Sie praktische Links für die automatische Anmeldung, um sich schnell bei allgemeinen Konten anzumelden. Konfigurieren Sie den Quellcode, um Änderungen vorzunehmen.
Version: 1.0.0
Verfasser: Harri Bell-Thomas
Autoren-URI: http://hbt.io/
* /

// Deklariere globale Vars
globaler $ login_parameter, $ accounts;

// DER ZU PRÜFENDE PARAMETER
// z.B. http://exmaple.com/wp-login.php?param_name=account
$ login_parameter = "autologin";

// ACCOUNT CODE BLOCK
$ accounts [] = array (
"user" => "demo",
"pass" => "demo",
"location" => "wp-admin",
);
// END ACCOUNT CODE BLOCK

// CODE BLOCK BEARBEITEN UND WIEDERHOLEN FÜR SO VIELE KONTEN, WIE ERFORDERLICH

// Eine weitere Beispieliteration
$ accounts [] = array (
"user" => "tcwp",
"pass" => "demo",
"location" => "wp-admin /? tcwp-sent-me",
);


// SIEHE VORHERIGES BEISPIEL FÜR DETAILS ZU DIESER FUNKTION
Funktion autologin () {
globaler $ login_parameter, $ accounts;
foreach ($ Konten als $ Konto) {
if ($ _GET [$ login_parameter] == $ account ['user']) {
$ creds ['user_login'] = $ account ['user'];
$ creds ['user_password'] = $ account ['pass'];
$ creds ['Remember'] = true;
$ autologin_user = wp_signon ($ creds, false);
if (! is_wp_error ($ autologin_user))
Header ('Ort:'. $ account ['Ort']);
}}
}}
}}
add_action ('after_setup_theme', 'autologin');

Im Kern ist dies im Wesentlichen dasselbe, aber mit einer frechen foreach-Schleife und einem ebenfalls eingeworfenen Account-Array. Die Anatomie der autologin () -Funktion ist identisch, außer dass der Code für jedes Konto (unter Verwendung der foreach-Schleife) wiederholt wird. Alle relevanten Details werden jetzt im globalen Array gespeichert. Das obige Beispiel ist für 2 Konten eingerichtet, aber unser Snippet kann so viele Konten aufnehmen, wie wir benötigen. Um zusätzliche Konten hinzuzufügen, passen Sie einfach so viele der folgenden Codeblöcke an und fügen Sie sie hinzu, wie Sie benötigen.

// ACCOUNT CODE BLOCK
$ accounts [] = array (
"user" => "anotheraccount",
"pass" => "public_password",
"location" => "http://YouCanPutURLsHereToo.com/",
);
// END ACCOUNT CODE BLOCK

Sie werden auch feststellen, dass ich den Parameternamen ebenfalls in eine globale Variable verschoben habe: Dies ist nicht erforderlich, aber ich habe dies einfach getan, um alle fest codierten Werte aus der Funktion autologin () zu entfernen.

FAZIT

Dieses Snippet ist nur eine einfache Funktion, die für die einfache Verwendung entwickelt wurde, z. B. auf einer Produktdemo-Site. Es kann jedoch für viel komplexere Anmeldeszenarien verwendet werden. Der Rest des Codes sollte ziemlich selbsterklärend sein. Wenn Sie jedoch Fragen dazu haben, was ich getan habe oder warum ich es getan habe, hinterlassen Sie einfach unten einen Kommentar oder twittern Sie mich. Wenn Sie Feedback / Vorschläge / Ideen haben, hinterlassen Sie einen Kommentar im Kommentarbereich unten!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map