Automatické přihlášení WordPress Admin v PHP

Dnešní příspěvek bude pouze krátkým příspěvkem, ve kterém vám ukážu, jak nainstalovat úhlednou malou funkci na váš web WordPress. Pokud je používán bezpečně, může to být velmi pohodlné. Je navržen pro použití na webech WordPress, které uživatelům nabízejí obecný účet pro přihlášení. Například na mnoha backendových demonstracích WordPress vytvoří autor „demo“ účet pro potenciální zákazníky, kteří se budou moci přihlásit a hrát se svým produktem. Více často než ne, autor jednoduše zobrazí upozornění;


USERNAME: demo
HESLO: demo

Tohle je trochu pěší. Zajistíme, aby demo vypadalo trochu efektivněji a profesionálněji? Dám vám rychlý úryvek pro automatické přihlášení k administrátorovi WordPress s těmito přihlašovacími údaji. To může být buď vloženo do souboru funkcí vašeho motivu, nebo může být vloženo do vlastního souboru pluginu a aktivováno.

To by mohlo být užitečné, pokud;

  • Váš web má obecný účet, do kterého se mohou anonymní uživatelé přihlásit.
  • Chcete odkaz pro přihlášení jedním kliknutím.
  • Chcete maximalizovat převedení dema produktů poskytnutím rychlé a efektivní cesty k demonstraci a minimalizováním požadovaných kroků.
  • Chcete nasměrovat návštěvníky přímo na příslušné místo (např. Stránku Nastavení).

DŮLEŽITÉ: Nikdy nepoužívejte k přihlášení k účtům se skutečnou silou; např. Účty správce / editoru atd.
Tento úryvek používejte opatrně.

Dobře, tak jako jsem to udělal ve svých dalších tutoriálech, nejprve vám dám kompletní anotovaný kód, takže ti z vás, kteří nejsou příznivci čtení, se mohou přímo pokusit s ním experimentovat. Následující úryvek byl vytvořen ve formě samostatného pluginu (moje osobní preference).

Harri Bell-Thomas na Githubu

/ *
Název pluginu: Automatické přihlášení
URI pluginu: http://hbt.io/
Verze: 1.0.0
Autor: Harri Bell-Thomas
URI autora: http://hbt.io/
* /

funkční autologin () {
// PARAMETR KONTROLA
if ($ _GET ['autologin'] == 'demo') {

// ÚČET UŽIVATELSKÉ PŘIHLÁSIT SE
$ creds ['user_login'] = 'demo';

// ÚČTOVÉ HESLO K POUŽITÍ
$ creds ['user_password'] = 'demo';

$ kredity ['pamatovat'] = true;
$ autologin_user = wp_signon ($ kredity, false);

if (! is_wp_error ($ autologin_user))
header ('Umístění: wp-admin'); // UMÍSTĚNÍ, KTERÝM SE PŘEDMĚT
}
}
// PŘIDAT KÓD JUST PŘED POSKYTNUTÍMI HLAVY A COOKIES
add_action ('after_setup_theme', 'autologin');

POUŽÍVÁNÍ

Použití je velmi jednoduché. Uživatelské jméno účtu a heslo jsou uvedeny v souboru pluginu (výše uvedený kód) a pro přihlášení stačí navštívit; http://example.com/wp-login.php?autologin=demo

Okamžitě byste měli být přesměrováni na wp-admin, přihlášeni na určený účet. Pokud jsou však přihlašovací údaje chybné, měli byste vidět pouze přihlašovací formulář, jak je obvyklé.

ZÁKAZNÍK

Tento úryvek lze velmi snadno přizpůsobit. V zásadě musíte upravit pouze 3 věci a všechny tyto změny je třeba provést v následujícím bloku kódu (řádky 11 až 17 úplného kódu)

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

// ÚČET UŽIVATELSKÉ PŘIHLÁSIT SE
$ creds ['user_login'] = 'dummy';

// ÚČTOVÉ HESLO K POUŽITÍ
$ creds ['user_password'] = 'pa55word';

Na prvním řádku uvidíte podmíněnou kontrolu parametru URL. Výše uvedený blok kódu bude hledat; wp-login.php? login = dummy_account

Tyto hodnoty mohou být cokoli, ale dávejte pozor, abyste se vyhnuli původním parametrům WordPress, jako jsou „odhlášení“, „akce“ a „přesměrování_to“. Řádek 4 je místo, kde zadáte uživatelské jméno, pomocí kterého se chcete přihlásit; přizpůsobený fragment kódu se pokusí přihlásit k účtu „figuríny“. Jak asi můžete hádat, v řádku 7 je místo, kde zadáte heslo. Výše uvedené heslo je „pa55word“. Vyplňte tyto hodnoty a měli byste být dobrí!

ROZŠÍŘENÍ

Momentálně je náš úryvek nastaven pouze pro automatické přihlášení k jednomu účtu. Co když chceme různé přihlašovací odkazy pro různé účty? Je to poměrně rychlé a snadné a nevyžaduje opakování celého úryvku znovu a znovu. Podívejte se níže na mé řešení.

/ *
Název pluginu: Automatické přihlášení
URI pluginu: http://hbt.io/
Popis: Vytvořte pohodlné odkazy pro automatické přihlášení k rychlému přihlášení k obecným účtům. Nakonfigurujte zdrojový kód pro provádění změn.
Verze: 1.0.0
Autor: Harri Bell-Thomas
URI autora: http://hbt.io/
* /

// Vyhlásit globální var
globální $ login_parameter, $ accounts;

// PARAMETR KONTROLA
// např. http://exmaple.com/wp-login.php?param_name=account
$ login_parameter = "autologin";

// ÚČET KÓD BLOKU
$ accounts [] = array (
"user" => "demo",
"pass" => "demo",
"location" => "wp-admin",
);
// BLOKOVACÍ KÓD KONCOVÉHO ÚČTU

// ÚPRAVA A OPAKOVÁNÍ BLOKU KÓDU, KTERÝ JE POTŘEBNÝ ÚČET

// Další příklad iterace
$ accounts [] = array (
"user" => "tcwp",
"pass" => "demo",
"location" => "wp-admin /? tcwp-sent-me",
);


// ZOBRAZIT PŘEDCHOZÍ PŘÍKLAD PRO PODROBNOSTI O TÉTO FUNKCI
funkční autologin () {
globální $ login_parameter, $ accounts;
foreach ($ accounts as $ account) {
if ($ _GET [$ login_parameter] == $ účet ['user']) {
$ creds ['user_login'] = $ account ['user'];
$ creds ['user_password'] = $ account ['pass'];
$ kredity ['pamatovat'] = true;
$ autologin_user = wp_signon ($ kredity, false);
if (! is_wp_error ($ autologin_user))
header ('Location:'. $ account ['location']);
}
}
}
add_action ('after_setup_theme', 'autologin');

Ve svém jádru je to v zásadě stejné, ale s házivým foreach smyčkou plus pole účtů hodil také. Anatomie funkce autologin () je totožná, kromě skutečnosti, že její kód se opakuje (pomocí smyčky foreach) pro každý účet. Všechny relevantní podrobnosti jsou nyní uloženy v globálním poli. Výše uvedený příklad je nastaven na 2 účty, ale náš úryvek může pojmout tolik, kolik potřebujeme. Chcete-li přidat další účty, jednoduše přizpůsobte a přidejte tolik následujících bloků kódu, kolik potřebujete.

// ÚČET KÓD BLOKU
$ accounts [] = array (
"user" => "otheraccount",
"pass" => "public_password",
"location" => "http://YouCanPutURLsHereToo.com/",
);
// BLOK KÓDU KONCOVÉHO ÚČTU

Také si všimnete, že jsem přemístil název parametru také do globální proměnné: není to nutné, ale udělal jsem to tak, že jsem z funkce autologin () odstranil všechny pevně kódované hodnoty.

ZÁVĚR

Tento úryvek je pouze jednoduchá funkce navržená pro snadné použití, například na demonstračním webu produktu, ale má potenciál být použit pro mnohem složitější přihlašovací scénáře. Zbytek kódu by měl být docela samozřejmý, ale pokud máte nějaké dotazy k tomu, co jsem udělal, nebo proč jsem to udělal, jednoduše zanechte komentář níže nebo mě tweetujte. Pokud máte zpětnou vazbu / návrhy / nápady, zanechte komentář v sekci komentářů níže!

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