Automaatne WordPressi administraatori sisselogimine PHP-s

Tänane postitus on ainult lühike, milles ma näitan teile, kuidas installida oma WordPressi saidile kena väike funktsioon. Kui see on ohutu, võib see olla väga mugav. See on mõeldud kasutamiseks WordPressi saitidel, mis pakuvad kasutajatele sisselogimiseks üldkontot. Näiteks loob autor paljude WordPressi taustaprogrammide demodes demokonto, et potentsiaalsed kliendid saaksid sisse logida ja oma tootega mängida. Enamasti kuvab autor lihtsalt teate, öeldes;


KASUTAJA NIMI: demo
SALASÕNA: demo

See on natuke jalakäija. Kindlasti saame muuta demo pisut sujuvamaks ja professionaalsemaks? Annan teile kiire lõigu, et nende mandaatidega automaatselt WordPressi administraatorisse sisse logida. Selle võib kas oma teema funktsioonide faili viia või selle saab ise oma pistikfaili lisada ja aktiveerida.

See võib olla kasulik, kui;

  • Teie saidil on anonüümsete kasutajate jaoks üldkonto, kuhu sisse logida.
  • Soovite sisselogimislinki ühe klõpsuga.
  • Soovite toote demoversiooni maksimeerida, pakkudes kiiret ja tõhusat tutvustusviisi, minimeerides vajalikud sammud.
  • Soovite suunata külastajaid otse vastavasse asukohta (nt seadete leht).

TÄHTIS: Ärge kunagi kasutage seda sisselogimiseks reaalse võimsusega kontodele; nt. Administraatori / toimetaja kontod jne.
Kasutage seda katkendit ettevaatlikult.

Ok, nii et nagu ma olen teinud ka teistes õppematerjalides, annan teile esmalt täieliku märkustega koodi, et need, kes pole lugemise fännid, saaksid sellega otse katsetada. Järgmine fragment on kujundatud iseseisva pistikprogrammina (minu isiklik eelistus).

Harri Bell-Thomas Githubis

/ *
Pistikprogrammi nimi: automaatne sisselogimine
Pistikprogrammi URI: http://hbt.io/
Versioon: 1.0.0
Autor: Harri Bell-Thomas
Autori URI: http://hbt.io/
* /

funktsioon autologin () {
// PARAMETER, MIDA KONTROLLIDA
if ($ _GET ['autologin'] == 'demo') {

// KONTO KASUTAJA NIMI, MIS SISSE SIGNEERINUD
$ creds ['user_login'] = 'demo';

// KASUTATAVA KONTO SALASÕNA
$ creds ['user_password'] = 'demo';

$ creds ['pea meeles'] = tõsi;
$ autologin_user = wp_signon ($ creds, false);

if (! is_wp_error ($ autologin_user))
päis ('Asukoht: wp-admin'); // TEADMISKOHT
}
}
// ADD CODE JUST ENNE KUI PÄEVAD JA KOKKUD SAADAKS ON
add_action ('after_setup_theme', 'autologin');

KASUTAMINE

Seda on väga lihtne kasutada. Konto kasutajanimi ja parool on täpsustatud pluginifailis (kood ülal) ja sisselogimiseks peate lihtsalt külastama; http://example.com/wp-login.php?autologin=demo

Teid tuleks kohe suunata wp-adminisse, logida sisse määratud kontole. Kui mandaat on vale, peaksite lihtsalt nägema sisselogimisvormi nagu tavaliselt.

KOHALDAGE

Seda katkendit on väga lihtne kohandada. Põhimõtteliselt on redigeerimiseks ainult 3 asja ja kõik need muudatused tuleb teha järgmises koodiplokis (täieliku koodi read 11–17)

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

// KONTO KASUTAJA NIMI, MIS SISSE SIGNEERINUD
$ creds ['user_login'] = 'näiv';

// KASUTATAVA KONTO SALASÕNA
$ creds ['user_password'] = 'pa55word';

Esimesel real näete URL-i parameetri tingimuslikku kontrolli. Ülaltoodud koodiplokk otsib; wp-login.php? login = dummy_account

Need väärtused võivad olla kõik, mida soovite, kuid vältige WordPressi algsete parameetrite, nagu „väljalogimine”, „toiming” ja „ümbersuunamine_to”, vältimist. 4. rida on koht, kus saate määrata kasutajanime, millega sisse logida; proovib kohandatud koodijupp sisselogimist näivkontole. Nagu arvata võib, on 7. reas salasõna määramine. Ülaltoodud parool on ‘pa55word’. Täitke need väärtused ja teil peaks olema hea minna!

LAIENDUSED

Praegu on meie koodilõik seadistatud ainult ühele kontole automaatseks sisselogimiseks. Mis siis saab, kui soovime erinevatele kontodele erinevaid sisselogimislinke? Seda on üsna kiire ja lihtne teha ning see ei nõua kogu katkendi kordamist ikka ja jälle. Vaadake allpool minu lahendust.

/ *
Pistikprogrammi nimi: automaatne sisselogimine
Pistikprogrammi URI: http://hbt.io/
Kirjeldus: looge mugavad automaatse sisselogimise lingid, et kiiresti üldkontodele sisse logida. Seadista lähtekood muudatuste tegemiseks.
Versioon: 1.0.0
Autor: Harri Bell-Thomas
Autori URI: http://hbt.io/
* /

// Kuuluta globaalsed var-id
globaalne $ login_parameter, $ kontod;

// PARAMETER, MIDA KONTROLLIDA
// nt. http://exmaple.com/wp-login.php?param_name=account
$ login_parameter = "autologin";

// KONTO KOODI BLOKK
$ kontot [] = array (
"kasutaja" => "demo",
"pass" => "demo",
"asukoht" => "wp-admin",
);
// LÕPP KONTO KOODI BLOKK

// MUUTA JA KORRIGEERI KOODI BLOKTI VAJALIKU PALJU KONTO KOHTA

// Veel üks iteratsiooni näide
$ kontot [] = array (
"kasutaja" => "tcwp",
"pass" => "demo",
"asukoht" => "wp-admin /? tcwp-sent-me",
);


// VAATA EELMIST NÄIDIST SELLE FUNKTSIOONI KOHTA
funktsioon autologin () {
globaalne $ login_parameter, $ kontod;
foreach ($ kontod on $ konto) {
if ($ _GET [$ login_parameter] == $ konto ['kasutaja']) {
$ creds ['user_login'] = $ konto ['user'];
$ creds ['user_password'] = $ konto ['pass'];
$ creds ['pea meeles'] = tõsi;
$ autologin_user = wp_signon ($ creds, false);
if (! is_wp_error ($ autologin_user))
päis ('Asukoht:'. $ konto ['asukoht']);
}
}
}
add_action ('after_setup_theme', 'autologin');

Selle keskmes on see põhimõtteliselt sama, kuid visatud näitsikute silmuse ja kontode massiivi abil on see ka sisse visatud. Autologiini () funktsiooni anatoomia on identne, välja arvatud juhul, kui selle koodi korratakse (kasutades foreachi silmust) iga konto jaoks. Kõik asjakohased üksikasjad on nüüd salvestatud globaalsesse massiivi. Ülaltoodud näide on loodud kahe konto jaoks, kuid meie lõiku mahub nii palju kui vajame. Täiendavate kontode lisamiseks lihtsalt kohandage ja lisage nii palju järgmisi koodiplokke, kui vaja.

// KONTO KOODI BLOKK
$ kontot [] = array (
"kasutaja" => "arvelduskonto",
"pass" => "public_password",
"asukoht" => "http://YouCanPutURLsHereToo.com/",
);
// LÕPP KONTO KOODI BLOKK

Samuti märkate, et olen teisaldanud parameetri nime ka globaalsesse muutujasse: see pole vajalik, kuid tegin seda lihtsalt selleks, et eemaldada kõik kõvakodeeritud väärtused funktsioonist autologin ().

JÄRELDUS

See fragment on ainult lihtne funktsioon, mis on mõeldud kergeks kasutamiseks, näiteks toote tutvustussaitil, kuid sellel on potentsiaal kasutada palju keerukamate sisselogimisstsenaariumide jaoks. Ülejäänud kood peaks olema üsna iseenesestmõistetav, kuid kui teil on küsimusi selle kohta, mida ma olen teinud või miks ma seda tegin, jätke lihtsalt allpool kommentaar või piiksuge mind. Kui teil on tagasisidet / ettepanekuid / ideid, jätke kommentaar allpool olevasse kommentaaride jaotisse!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Adblock
    detector