Kuidas Autoriseerida

Sisukord:

Kuidas Autoriseerida
Kuidas Autoriseerida

Video: Kuidas Autoriseerida

Video: Kuidas Autoriseerida
Video: AlertPay konto autoriseerimine SMS-i teel 2024, Mai
Anonim

Tihti juhtub, et on vaja jagada külastajad soovitavateks ja ebasoovitavateks ning anda võimalus mõne saidi lehe nägemiseks ainult neile, kellel on kasutajanimi ja parool. Kuidas seda teha näiteks serveripoolses skriptikeeles PHP?

Kuidas volitada?
Kuidas volitada?

Juhised

Samm 1

Korraldame lihtsaima viisi oma lehtede volitamata külastajate eest kaitsmiseks. Seanss on teabe kandja selle kohta, kas külastajal on luba. Seanss on brauseri küpsiste analoog, ainsa erinevusega, et need pole loodud meie arvutis, vaid serveris. Ja neid kasutatakse küpsistega samal eesmärgil - meie kohta erineva teabe salvestamiseks, kui me liigume ühe saidi lehelt teisele. Kui sulgeme brauseri, hävitab server selle seansi ja järgmisel sisselogimisel loob see uue. Selle serverimehhanismi abil registreerime, kas kasutaja on juba seanssi sisse logitud või mitte. Selle teabe lugemisel avab php-skript kas parooliga kaitstud lehtedele juurdepääsu või pakub kasutajanime ja parooli sisestamist, kui külastaja soovib lehte.

1. samm: looge leht sisselogimise ja parooli sisestamiseks. Volitusvormi HTML-kood lihtsamas vormis võib välja näha järgmine:

Logi sisse:

Parool:

Siia (faili alguses) lisame php-koodi, mis kontrollib külastaja sisestatud kasutajanime ja parooli õigsust. Alguses kirjutame:

session_start ();

See käsk käivitab uue seansi, kui selle külastaja jaoks pole seda veel loodud.

Seejärel kontrollime, kas seansil on muutuja nimega 'userName' - see salvestab nime, kui külastaja on juba sisse logitud. Kui selline muutuja on olemas, suunake külastaja põhilehele (index.php) ja lõpetage selle php-skripti käivitamine:

kui ($ _ SESSION ['kasutajaNimi']) {

päis ("Asukoht: index.php");

väljumine;

}

Ülejäänud kood käivitatakse ainult siis, kui kasutaja pole veel sisestanud õiget kasutajanime ja parooli. Näitame, millist sisselogimist ja parooli tuleks õigeks pidada

$ validName = 'Olen mina!';

$ validPass = 'salajane parool';

Seejärel kontrollime, kas vormilt edastatud väärtused vastavad õigetele. Kuna me oleme vormis määranud POST-i andmeedastusmeetodi, tuleks neid lugeda muutujast $ _POST superglobal:

if ($ _ POST ['kasutajaNimi'] == $ kehtivNimi && $ _POST ['kasutajaPass'] == $ kehtiv pass) {

$ _SESSION ['kasutajaNimi'] = $ kehtiv nimi;

päis ("Asukoht: index.php");

väljumine;

}

Siin käivitatakse lokkis sulgudes {} kood õigete kasutajanime ja parooliga. Reale $ _SESSION ['kasutajaNimi'] = $ kehtivNimi; Ma kirjutame sessioonis muutuja nimega 'userName', mis sisaldab nüüd volitatud kasutaja sisselogimist. See on märk sellest, et juurdepääs on talle avatud kõikjal, kuni tema praegune seanss kehtib.

Ja kui vormi sisestatakse valed andmed, lisage sobiv teade:

muu kaja"

Sisselogimine või parool on vale!

;

Kogu kood, mis tuleb salvestada faili login.php, näeb välja selline:

<? php

session_start ();

kui ($ _ SESSION ['kasutajaNimi']) {

päis ("Asukoht: index.php");

väljumine;

}

$ validName = 'Olen minu oma!';

$ validPass = 'salajane parool';

if ($ _ POST ['kasutajaNimi'] == $ kehtivNimi && $ _POST ['kasutajaPass'] == $ kehtiv pass) {

$ _SESSION ['kasutajaNimi'] = $ kehtiv nimi;

päis ("Asukoht: index.php");

väljumine;

}

muu kaja"

Sisselogimine või parool on vale!

;

?>

Logi sisse:

Parool:

2. samm

2. samm: looge autoriseerimisplokk - eraldi fail, mis ühendatakse igale paroolikaitset vajavale lehele. See fail sisaldab ainult php-koodi, seega on selle laiendiks "php" ja me anname talle selliste failide traditsiooni järgi nime - "auth", see tähendab "auth.php". Ja ka siin, kohe pärast avanevat <? Php silti, peaks olema seansi alustamise juhis:

session_start ();

Kõiki seansi salvestatud muutujaid võime lugeda ülimaailmsest massiivist $ _SESSION. Peame kontrollima muutuja "userName" väärtust - kui külastaja pole veel sisse loginud, siis seda massiivis ei ole ja me suuname ta oma kasutajanime ja parooli sisestamise lehele:

kui (! $ _ SESSION ['volitatud']) {

päis ("Asukoht: login.php");

väljumine;

}

Kogu kood, mis tuleb faili auth.php salvestada, näeb välja selline:

<? php

session_start ();

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

päis ("Asukoht: enter.php");

väljumine;

}

?>

3. samm

3. samm: pärast nende failide salvestamist serverisse jääb see kõigisse php-lehtedesse, mida tuleb autoriseerimisploki ühendamiseks volitamata kasutajate eest kaitsta. See tähendab, et iga PHP-faili alguses peate sisestama selle koodi:

<? php

nõuda "auth.php";

?>

Ja pääsuparooli muutmiseks peate muutma nende muutujate väärtusi failis login.php:

$ validName = 'Olen minu oma!';

$ validPass = 'salajane parool';

$ validName - sisselogimine, $ validPass - parool.

Soovitan: