Inicia sessió automàtica d’administrador de WordPress a PHP

La publicació d’avui només serà breu en què us mostraré com instal·lar una característica petita al vostre lloc de WordPress. Si s’utilitza amb seguretat, pot ser molt convenient. Està dissenyat per utilitzar-se en llocs de WordPress que ofereixen un compte genèric per als usuaris per iniciar la sessió. Per exemple, en moltes demostracions de backend de l’autor, l’autor crearà un compte “demostració” per als futurs clients que s’iniciïn i juguin amb el seu producte. Sovint, l’autor només mostrarà una notificació dient;


USERNAME: demostració
PARAULA: demostració

Això és una mica per a vianants. Segur que podem fer que la demostració es vegi lleugerament més ràpida i professional? Us donaré un fragment ràpid per iniciar la sessió automàticament a l’administrador de WordPress amb aquestes credencials. Això es pot incloure al fitxer de funcions del tema o es pot activar al propi fitxer de complements i activar-lo.

Això pot ser útil si;

  • El vostre lloc té un compte genèric per als usuaris anònims per iniciar la sessió.
  • Voleu un enllaç d’inici de sessió “d’un clic”.
  • Voleu maximitzar la conversió de demostració de productes proporcionant una ruta ràpida i eficaç a la demostració, minimitzant els passos necessaris.
  • Voleu dirigir els visitants directament a la ubicació rellevant (per exemple, pàgina de configuració).

IMPORTANT: No l’utilitzeu mai per iniciar la sessió als comptes amb un poder real; per exemple. Comptes d’administrador / editor, etc..
Utilitzeu aquest fragment amb cura.

D’acord, de la mateixa manera que ho he fet en els meus altres tutorials, us donaré primer el codi complet i anotat perquè aquells que no sou aficionats a la lectura puguin entrar directament a experimentar-lo. El següent fragment ha estat dissenyat en forma de complement autònom (preferència personal).

Harri Bell-Thomas a Github

/ *
Nom del complement: Entrada automàtica
Plugin URI: http://hbt.io/
Versió: 1.0.0
Autor: Harri Bell-Thomas
Autor URI: http://hbt.io/
* /

funció autologin () {
// PARÀMETRE PER VERIFICAR
if ($ _GET ['autologin'] == 'demostració') {

// USERNAME DEL COMPTE PER INICIAR-SE LA sessió
$ creds ['user_login'] = 'demostració';

// PASSWORD DE COMPTE A L’ÚS
$ creds ['user_password'] = 'demostració';

$ creds ['recordar'] = cert;
$ autologin_user = wp_signon ($ creds, fals);

if (! is_wp_error ($ autologin_user))
capçalera ("Ubicació: wp-admin"); // LOCALITZACIÓ PER REDIRECTAR
}
}
// AGREGAR CODI NOMÉS ES VAN ENVOLTAR DESPRÉS DE CAPDULARS I CUINES
add_action ('post_setup_theme', 'autologin');

ÚS

És molt senzill d’utilitzar. El nom d’usuari i la contrasenya del compte s’especifiquen al fitxer del complement (codi anterior) i per iniciar la sessió només cal que visiteu; http://example.com/wp-login.php?autologin=demo

Immediatament, heu de redirigir a wp-admin, iniciar la sessió al compte especificat. Però, si les credencials són incorrectes, només hauríeu de veure el formulari d’inici de sessió com és normal.

PERSONALITZAR

Aquest fragment és molt fàcil de personalitzar. Essencialment només hi ha tres coses que heu d’editar i tots aquests canvis es realitzaran al bloc de codi següent (línies 11 a 17 del codi complet)

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

// USERNAME DEL COMPTE PER INICIAR-SE LA sessió
$ creds ['user_login'] = 'maniquí';

// PASSWORD DE COMPTE A L’ÚS
$ creds ['user_password'] = 'pa55word';

A la primera línia, veureu la comprovació condicional del paràmetre URL. Comproveu el bloc de codi anterior; wp-login.php? login = dummy_account

Aquests valors poden ser el que vulgueu, però tingueu cura d’evitar els paràmetres originals de WordPress, com ara “desconnectar”, “acció” i “redirigir-se a”. La línia 4 és on especifiqueu el nom d’usuari per iniciar la sessió; el fragment de codi personalitzat intentarà iniciar la sessió al compte “maniquí”. Com és probable que pugueu endevinar, la línia 7 és on especifiqueu la contrasenya. La contrasenya anterior és “pa55word”. Ompliu aquests valors i us ha de ser bo!

EXTENSIONS

En aquest moment, el nostre fragment només està configurat per iniciar l’inici de sessió automàtic en un compte. Què passa si volem enllaços d’inici de sessió diferents per a comptes diferents? Això és bastant ràpid i fàcil de fer i no requereix que repetiu tot el fragment una vegada i una altra. Mireu a continuació la meva solució.

/ *
Nom del complement: Entrada automàtica
Plugin URI: http://hbt.io/
Descripció: creeu enllaços de connexió automàtica convenient per iniciar la sessió ràpidament a comptes genèrics. Configureu el codi font per fer canvis.
Versió: 1.0.0
Autor: Harri Bell-Thomas
Autor URI: http://hbt.io/
* /

// Declarar var global
global $ login_parameter, $ comptes;

// EL PARÀMETRE PER VERIFICAR
// per exemple. http://exmaple.com/wp-login.php?param_name=account
$ login_parameter = "autologin";

// BLOC DE CODI DEL COMPTE
$ account [] = matriu (
"user" => "demostració",
"pass" => "demostració",
"location" => "wp-admin",
);
// BLOC DE CODI DE COMPTE FIN

// EDITAR I REPETIR EL BLOC DE CODI PER MOLTES COMPTES COM NECESSITATS

// Un altre exemple d’iteració
$ account [] = matriu (
"user" => "tcwp",
"pass" => "demostració",
"location" => "wp-admin /? tcwp-sent-me",
);


// VEURE EXEMPLE ANTERIOR DE DETALLS SOBRE AQUESTA FUNCIÓ
funció autologin () {
global $ login_parameter, $ comptes;
foreach (comptes $ com $ compte) {
if ($ _GET [$ login_parameter] == $ compte ['usuari']) {
$ creds ['user_login'] = $ compte ['usuari'];
$ creds ['user_password'] = $ compte ['pass'];
$ creds ['recordar'] = cert;
$ autologin_user = wp_signon ($ creds, fals);
if (! is_wp_error ($ autologin_user))
capçalera ("Ubicació:". compte $ ["ubicació"]);
}
}
}
add_action ('post_setup_theme', 'autologin');

En el seu nucli bàsic, això és essencialment el mateix, però també té un bucle precoç descarat i una matriu de comptes llançada també. L’anatomia de la funció autologin () és idèntica, tret del fet que el seu codi es repeteix (utilitzant el bucle foreach) per a cada compte. Tots els detalls rellevants ara es guarden a la matriu global. L’exemple anterior està configurat per a 2 comptes, però el nostre fragment pot donar lloc al nombre que necessitem. Per afegir comptes addicionals, simplement personalitzeu i afegiu tants dels blocs de codi següents que necessiteu.

// BLOC DE CODI DEL COMPTE
$ account [] = matriu (
"user" => "anotheraccount",
"pass" => "public_password",
"location" => "http://YouCanPutURLsHereToo.com/",
);
// BLOC DE CODI DE COMPTE FIN

També notareu que també he traslladat el nom del paràmetre a una variable global: això no és necessari, però ho he fet simplement per eliminar tots els valors codificats durs de la funció autologin ()..

CONCLUSIÓ

Aquest fragment només és una funció senzilla dissenyada per a un ús lleuger, com en un lloc de demostració de productes, però pot utilitzar-se en escenaris d’inici de sessió molt més complexos. La resta del codi hauria de ser força explicatiu, però si teniu dubtes sobre el que he fet, o per què ho he fet, només deixeu un comentari a continuació o feu-me un twitteig. Si voleu comentaris / suggeriments / idees, deixeu un comentari a la secció de comentaris que hi ha a continuació!

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