Com Autoritzar

Taula de continguts:

Com Autoritzar
Com Autoritzar

Vídeo: Com Autoritzar

Vídeo: Com Autoritzar
Vídeo: How to authorize a DHCP Server in a promoted server 2024, Abril
Anonim

Sovint passa que és necessari dividir els visitants en desitjables i indesitjables i donar l'oportunitat de veure algunes pàgines del lloc només a aquells que tinguin un nom d'usuari i una contrasenya. Com es pot fer això, per exemple, en el llenguatge de script del servidor PHP?

Com autoritzo?
Com autoritzo?

Instruccions

Pas 1

Organitzem la forma més senzilla de protegir les vostres pàgines de visitants no autoritzats. El portador d'informació sobre si el visitant està autoritzat serà la sessió. Una sessió és un analògic de les cookies d’un navegador, amb l’única diferència que es creen no al nostre ordinador, sinó al servidor. I s’utilitzen amb el mateix propòsit que les cookies: emmagatzemar informació diferent sobre nosaltres mentre anem de pàgina en pàgina d’un lloc. Quan tanquem el navegador, el servidor destrueix aquesta sessió i, la propera vegada que iniciem la sessió, en crea una de nova. Utilitzem aquest mecanisme de servidor per registrar si l’usuari ja ha iniciat la sessió o no. Llegint aquesta informació, quan un visitant sol·licita una pàgina, l'script php obrirà accés a pàgines protegides amb contrasenya o oferirà introduir un nom d'usuari i una contrasenya.

Pas 1: creeu una pàgina per introduir dades d'accés i contrasenya. El codi HTML del formulari d'autorització en la seva forma més senzilla pot tenir aquest aspecte:

Iniciar Sessió:

Contrasenya:

Aquí (al principi del fitxer) afegirem un codi php que comprovarà la correcció del nom d’usuari i la contrasenya introduïts pel visitant. Al principi escriurem:

session_start ();

Aquesta ordre inicia una nova sessió si encara no se n'ha creat cap per a aquest visitant.

A continuació, comprovem si la sessió té una variable anomenada "nom_usuari": emmagatzemarà el nom si el visitant ja ha iniciat la sessió. Si hi ha aquesta variable, redirigiu el visitant a la pàgina principal (index.php) i acabeu d'executar aquest script php:

if ($ _ SESSION ['userName']) {

capçalera ("Ubicació: index.php");

sortida;

}

La resta del codi només s'executarà si l'usuari encara no ha introduït el nom d'usuari i la contrasenya correctes. Indiquem quin inici de sessió i contrasenya s’han de considerar correctes:

$ validName = 'Sóc meu!';

$ validPass = 'contrasenya secreta';

A continuació, comprovem si els valors enviats al formulari coincideixen amb els correctes. Com que hem especificat el mètode de transferència de dades POST al formulari, s'han de llegir des de la variable superglobal $ _POST:

if ($ _ POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ validName;

capçalera ("Ubicació: index.php");

sortida;

}

Aquí s'executarà el codi entre claus {} amb els valors correctes del nom d'usuari i la contrasenya. A la línia $ _SESSION ['userName'] = $ validName; Escrivim a la sessió una variable anomenada "nom_usuari" que conté l'inici de sessió de l'usuari ara autoritzat. Aquesta serà la marca que l’accés l’obrirà a tot arreu sempre que la sessió actual sigui vàlida.

I en cas que s’introdueixin dades incorrectes al formulari, afegiu el missatge adequat:

sinó fa ressò"

L'inici de sessió o la contrasenya són incorrectes.

;

Tot el codi que cal desar en un fitxer anomenat login.php serà així:

<? php

session_start ();

if ($ _ SESSION ['userName']) {

capçalera ("Ubicació: index.php");

sortida;

}

$ validName = 'Sóc meu!';

$ validPass = 'contrasenya secreta';

if ($ _ POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ validName;

capçalera ("Ubicació: index.php");

sortida;

}

sinó fa ressò"

L'inici de sessió o la contrasenya són incorrectes.

;

?>

Iniciar Sessió:

Contrasenya:

Pas 2

Pas 2: creeu un bloc d'autorització: un fitxer independent que estarà connectat a cada pàgina que necessiti protecció amb contrasenya. Aquest fitxer només contindrà codi php, de manera que la seva extensió serà "php" i li donarem un nom segons la tradició per a aquests fitxers - "auth", és a dir, "auth.php". I aquí també, immediatament després de l’etiqueta <? Php d’obertura, hi hauria d’haver una instrucció per iniciar una sessió:

session_start ();

Podem llegir totes les variables que s’emmagatzemen a la sessió des de la matriu superglobal $ _SESSION. Hem de comprovar el valor de la variable "nom_usuari": si el visitant encara no ha iniciat la sessió, no serà a la matriu i el redireccionarem a la pàgina per introduir el seu nom d'usuari i contrasenya:

if (! $ _ SESSION ['autoritzat']) {)

capçalera ("Ubicació: login.php");

sortida;

}

Tot el codi que cal desar al fitxer auth.php serà així:

<? php

session_start ();

if (! $ _ SESSION ['admin']) {

capçalera ("Ubicació: enter.php");

sortida;

}

?>

Pas 3

Pas 3: després de desar aquests fitxers al servidor, es mantindrà a totes les pàgines php que necessiten protegir-se d’usuaris no autoritzats per connectar el bloc d’autorització. És a dir, al principi de cada fitxer php, haureu d'inserir aquest codi:

<? php

requereixen "auth.php";

?>

I per canviar la contrasenya d’accés, haureu de canviar els valors d’aquestes variables al fitxer login.php:

$ validName = 'Sóc meu!';

$ validPass = 'contrasenya secreta';

$ validName - inici de sessió, $ validPass - contrasenya.

Recomanat: