Samodejni WordPress Admin Prijava v PHP

Današnja objava bo samo kratka, v kateri vam bom pokazal, kako namestiti lepo funkcijo na svoje WordPress spletno mesto. Če se uporablja varno, je to lahko zelo priročno. Zasnovana je za uporabo na spletnih mestih WordPress, ki uporabnikom ponujajo splošen račun. Na primer, na mnogih predstavniških predstavitvah WordPress avtor ustvari “demo” račun za bodoče stranke, ki se bodo prijavili v svoj izdelek in se igrali s tem. Bolj pogosto bo avtor preprosto prikazal obvestilo;


USERNAME: demo
PASSWORD: demo

To je malo peš. Zagotovo lahko naredimo demonstracijo nekoliko bolj racionalizirano in profesionalno? Dala vam bom hiter delček za samodejno prijavo v WordPress administrator s temi poverilnicami. To je mogoče vstaviti v datoteko s funkcijami teme ali vstaviti v lastno datoteko vtičnikov in jo aktivirati.

To bi lahko bilo koristno, če;

  • Na vašem spletnem mestu je splošen račun za anonimne uporabnike, v katere se lahko prijavijo.
  • Želite povezavo za prijavo z enim klikom.
  • Želite maksimizirati konverzijo predstavitve izdelkov, tako da zagotovite hitro in učinkovito pot do demonstracije, s čimer zmanjšate potrebne korake.
  • Obiskovalce želite usmeriti neposredno na ustrezno lokacijo (npr. Stran z nastavitvami).

POMEMBNO: Nikoli tega ne uporabljajte za prijavo v račune z resnično močjo; npr. Računi skrbnika / urednika itd.
Pazljivo uporabite ta delček.

Ok, tako kot sem to storil v drugih vadnicah, vam najprej dam popolno, označeno kodo, tako da lahko tisti, ki niste ljubitelji branja, takoj poskusite z njo. Naslednji delček je bil oblikovan v obliki samostojnega vtičnika (moja osebna želja).

Harri Bell-Thomas na Githubu

/ *
Ime vtičnika: samodejna prijava
URI vtičnika: http://hbt.io/
Različica: 1.0.0
Avtor: Harri Bell-Thomas
URI avtorja: http://hbt.io/
* /

funkcija autologin () {
// PARAMETER ZA PREVERJANJE
if ($ _GET ['autologin'] == 'demo') {

// RAČUNOVODSKO UPORABO ZA PRIJAVO V
$ creds ['user_login'] = 'demo';

// RAČUNOVNA PISARNA UPORABA
$ creds ['user_password'] = 'demo';

$ creds ['zapomni si]] = res;
$ autologin_user = wp_signon ($ kredita, napačno);

if (! is_wp_error ($ autologin_user))
header ('Lokacija: wp-admin'); // LOKACIJA, KI POTREBUJEMO
}
}
// DODAJTE KODO PRAVO PRED GLAVNIMI IN KUHNICAMI
dodajanje ('after_setup_theme', 'autologin');

UPORABA

To je zelo enostavno za uporabo. Uporabniško ime in geslo za račun sta določena v datoteki vtičnikov (koda zgoraj), za prijavo pa jo preprosto morate obiskati; http://example.com/wp-login.php?autologin=demo

Takoj morate biti preusmerjeni na wp-admin, ki ste prijavljeni v navedeni račun. Če so poverilnice napačne, morate samo videti obrazec za prijavo kot običajno.

PRILAGODITI

Ta delček je zelo enostavno prilagoditi. V bistvu so samo tri stvari, ki jih boste morali urediti, in vse te spremembe se izvedejo v naslednjem kodnem bloku (vrstice 11 do 17 celotne kode)

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

// RAČUNOVODSKO UPORABO ZA PRIJAVO V
$ creds ['user_login'] = 'lutka';

// RAČUNOVNA PISARNA UPORABA
$ creds ['user_password'] = 'pa55word';

V prvi vrstici boste videli pogojno preverjanje parametra URL. Zgornji blok kod bo preverjal; wp-login.php? login = dummy_account

Te vrednosti so lahko poljubne, vendar pazite, da se izognete izvirnim parametrom WordPressa, kot so “odjava”, “dejanje” in “preusmerjanje_to”. V 4. vrstici določite uporabniško ime, s katerim se prijavite; se bo delček kode po meri skušal prijaviti v račun “lutke”. Kot verjetno ugibate, je v vrstici 7 navedena geslo. Zgornje geslo je “pa55word”. Izpolnite te vrednosti in morali bi biti dobri!

PODALJŠANJA

Trenutno je naš delček nastavljen samo za samodejno prijavo v en račun. Kaj pa, če želimo različne prijavne povezave za različne račune? To je hitro in enostavno narediti, zato ne potrebujete, da ves delček ponavljate vedno znova. Spodaj si oglejte mojo rešitev.

/ *
Ime vtičnika: samodejna prijava
URI vtičnika: http://hbt.io/
Opis: ustvarite priročne povezave za samodejno prijavo za hitro prijavo v splošne račune. Konfigurirajte izvorno kodo za spremembe.
Različica: 1.0.0
Avtor: Harri Bell-Thomas
URI avtorja: http://hbt.io/
* /

// Izjavi globalne var
globalni $ login_parameter, $ računi;

// PARAMETER ZA PREVERJANJE
// npr. http://exmaple.com/wp-login.php?param_name=account
$ login_parameter = "samodejni vpis";

// KODEK RAČUNA
$ računi [] = matrika (
"user" => "demo",
"pass" => "demo",
"location" => "wp-admin",
);
// BLOK KODA RAČUNA

// UREJITE IN ponovite blok kode za toliko računov, kot so potrebni

// Še en primer iteracije
$ računi [] = matrika (
"user" => "tcwp",
"pass" => "demo",
"location" => "wp-admin /? tcwp-sent-me",
);


// GLEJTE PREDHODNI PRIMER PODROBNOSTI O TEJ FUNKCIJI
funkcija autologin () {
globalni $ login_parameter, $ računi;
foreach ($ računi kot $ račun) {
if ($ _GET [$ login_parameter] == $ račun ['uporabnik']) {
$ creds ['user_login'] = $ račun ['uporabnik'];
$ creds ['user_password'] = $ account ['pass'];
$ creds ['zapomni si]] = res;
$ autologin_user = wp_signon ($ kredita, napačno);
if (! is_wp_error ($ autologin_user))
header ('Lokacija:'. $ account ['location']);
}
}
}
dodajanje ('after_setup_theme', 'autologin');

V bistvu je to v bistvu enako, toda z vrženo predrzno zanko in računi. Anatomija funkcije autologin () je identična, le da se njena koda ponovi (z uporabo zanke foreach) za vsak račun. Vse ustrezne podrobnosti so zdaj shranjene v globalnem nizu. Zgornji primer je nastavljen za dva računa, vendar lahko naš delček sprejme toliko, kolikor potrebujemo. Če želite dodati dodatne račune, preprosto prilagodite in dodajte toliko spodnjih blokov kod, ki jih potrebujete.

// KODEK RAČUNA
$ računi [] = matrika (
"user" => "anotheraccount",
"pass" => "public_password",
"location" => "http://YouCanPutURLsHereToo.com/",
);
// BLOK KODA RAČUNA

Opazili boste tudi, da sem tudi ime parametra premaknil v globalno spremenljivko: to ni potrebno, vendar sem to storil preprosto, da sem odstranil vse trde kodirane vrednosti iz funkcije autologin ().

ZAKLJUČEK

Ta delček je le preprosta funkcija, zasnovana za lažjo uporabo, na primer na predstavitvenem mestu izdelka, vendar se lahko uporabi za veliko bolj zapletene scenarije za prijavo. Preostala koda mora biti precej samoumevna, če pa imate kakršna koli vprašanja o tem, kaj sem storil ali zakaj sem to storil, samo pustite komentar spodaj ali me tvitnite. Če imate kakršne koli povratne informacije / predloge / ideje, pustite komentar v spodnjem razdelku za komentarje!

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