Kaip Autorizuoti

Turinys:

Kaip Autorizuoti
Kaip Autorizuoti

Video: Kaip Autorizuoti

Video: Kaip Autorizuoti
Video: Schmitz Cargobull autorizuotas servisas Panevėžyje 2024, Gegužė
Anonim

Dažnai atsitinka taip, kad būtina suskirstyti lankytojus į pageidaujamus ir nepageidaujamus, o galimybę pamatyti kai kuriuos svetainės puslapius suteikti tik tiems, kurie turi vartotojo vardą ir slaptažodį. Kaip tai padaryti, pavyzdžiui, serverio pusės scenarijų kalba PHP?

Kaip aš galiu įgalioti?
Kaip aš galiu įgalioti?

Nurodymai

1 žingsnis

Organizuokime lengviausią būdą apsaugoti savo puslapius nuo pašalinių lankytojų. Informacijos apie tai, ar lankytojui suteikta teisė, turėtojas bus sesija. Seansas yra naršyklės slapukų analogas, vienintelis skirtumas, kad jie yra sukurti ne mūsų kompiuteryje, o serveryje. Jie naudojami tam pačiam tikslui kaip ir slapukai - skirtingai informacijai apie mus kaupti, kol mes einame iš vienos svetainės į kitą. Kai uždarome naršyklę, serveris sunaikina šią sesiją, o kitą kartą prisijungus sukuria naują. Mes naudojame šį serverio mechanizmą norėdami įrašyti, ar vartotojas jau prisijungęs prie sesijos, ar ne. Skaitydamas šią informaciją, kai lankytojas paprašo puslapio, php scenarijus arba atvers prieigą prie slaptažodžiu apsaugotų puslapių, arba pasiūlys įvesti vartotojo vardą ir slaptažodį.

1 žingsnis: Sukurkite prisijungimo ir slaptažodžio įvedimo puslapį. Paprasčiausios formos įgaliojimo formos HTML kodas gali atrodyti taip:

Prisijungti:

Slaptažodis:

Čia (pačioje failo pradžioje) pridėsime php kodą, kuris patikrins lankytojo įvesto vartotojo vardo ir slaptažodžio teisingumą. Pradžioje parašysime:

session_start ();

Ši komanda pradeda naują sesiją, jei ji dar nebuvo sukurta šiam lankytojui.

Tada patikrinkime, ar seansas turi kintamąjį, pavadintą „vartotojo vardas“- jis išsaugos vardą, jei lankytojas jau buvo prisijungęs. Jei yra toks kintamasis, nukreipkite lankytoją į pagrindinį puslapį (index.php) ir baikite vykdyti šį php scenarijų:

jei ($ _ SESSION ['vartotojo vardas']) {

antraštė („Vieta: index.php“);

išėjimas;

}

Likęs kodas bus vykdomas tik tuo atveju, jei vartotojas dar neįvedė teisingo vartotojo vardo ir slaptažodžio. Nurodykime, kuris prisijungimo vardas ir slaptažodis turėtų būti laikomi teisingais:

$ validName = 'Aš esu mano!';

$ validPass = 'slaptas slaptažodis';

Tada mes patikriname, ar iš formos pateiktos vertės atitinka teisingas. Kadangi mes nurodėme POST duomenų perdavimo metodą formoje, juos reikėtų perskaityti iš superglobal $ _POST kintamojo:

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

$ _SESSION ['userName'] = $ validName;

antraštė („Vieta: index.php“);

išėjimas;

}

Čia kodas garbanotaisiais breketais {} bus vykdomas su teisingomis vartotojo vardo ir slaptažodžio reikšmėmis. $ _SESSION ['userName'] = $ validName eilutėje; mes sesijoje rašome kintamąjį, pavadintą „userName“, kuriame yra dabar įgalioto vartotojo prisijungimo vardas. Tai bus ženklas, kad jam prieiga yra atvira visur, kol galioja jo dabartinė sesija.

Jei į formą įvedami neteisingi duomenys, pridėkite atitinkamą pranešimą:

kitas aidas"

Prisijungimo vardas ar slaptažodis neteisingi!

;

Visas kodas, kurį reikia išsaugoti faile login.php, atrodys taip:

<? php

session_start ();

jei ($ _ SESSION ['vartotojo vardas']) {

antraštė („Vieta: index.php“);

išėjimas;

}

$ validName = 'Aš esu mano!';

$ validPass = 'slaptas slaptažodis';

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

$ _SESSION ['userName'] = $ validName;

antraštė („Vieta: index.php“);

išėjimas;

}

kitas aidas"

Prisijungimo vardas ar slaptažodis neteisingi!

;

?>

Prisijungti:

Slaptažodis:

2 žingsnis

2 žingsnis: sukurkite autorizacijos bloką - atskirą failą, kuris bus prijungtas prie kiekvieno puslapio, kuriam reikalinga slaptažodžio apsauga. Šiame faile bus tik php kodas, todėl jo plėtinys bus „php“, o mes pagal tokių failų tradicijas suteiksime pavadinimą - „auth“, tai yra „auth.php“. Ir čia, iškart po atidaromos <? Php žymos, turėtų būti instrukcija pradėti sesiją:

session_start ();

Visus kintamuosius, kurie saugomi sesijoje, galime perskaityti iš „superglobal“masyvo $ _SESSION. Turime patikrinti kintamojo „userName“vertę - jei lankytojas dar neprisijungė, tada jo nebus masyve ir mes nukreipsime jį į puslapį, kuriame bus įvesti jo vartotojo vardas ir slaptažodis:

jei (! $ _ SESSION ['įgaliotas']) {

antraštė („Vieta: login.php“);

išėjimas;

}

Visas kodas, kurį reikia įrašyti į auth.php failą, atrodys taip:

<? php

session_start ();

jei (! $ _ SESSION ['administratorius]) {

antraštė („Vieta: enter.php“);

išėjimas;

}

?>

3 žingsnis

3 žingsnis: Kai išsaugosime šiuos failus serveryje, jie liks visuose php puslapiuose, kuriuos reikia apsaugoti nuo pašalinių vartotojų, kad būtų galima prisijungti prie autorizacijos bloko. Tai yra, kiekvieno PHP failo pradžioje turėsite įterpti šį kodą:

<? php

reikalauti „auth.php“;

?>

Norėdami pakeisti prieigos slaptažodį, turėsite pakeisti šių kintamųjų reikšmes faile login.php:

$ validName = 'Aš esu mano!';

$ validPass = 'slaptas slaptažodis';

$ validName - prisijungimas, $ validPass - slaptažodis.

Rekomenduojamas: