Si Të Autorizohet

Përmbajtje:

Si Të Autorizohet
Si Të Autorizohet

Video: Si Të Autorizohet

Video: Si Të Autorizohet
Video: Montimi i Dekoderit ABCom 2024, Nëntor
Anonim

Shpesh ndodh që është e nevojshme të ndahen vizitorët në të dëshirueshëm dhe të padëshirueshëm dhe t'u jepet mundësia të shohin disa faqe të faqes vetëm për ata që kanë një emër përdoruesi dhe fjalëkalim. Si ta bëni këtë, për shembull, në gjuhën e skriptimit nga ana e serverit PHP?

Si mund të autorizoj?
Si mund të autorizoj?

Udhëzimet

Hapi 1

Le të organizojmë mënyrën më të lehtë për të mbrojtur faqet tuaja nga vizitorët e paautorizuar. Bartësi i informacionit nëse vizitori është i autorizuar do të jetë seanca. Një seancë është një analog i cookies në një shfletues, me ndryshimin e vetëm që ato nuk krijohen në kompjuterin tonë, por në server. Dhe ato përdoren për të njëjtin qëllim si cookies - për të ruajtur informacione të ndryshme rreth nesh ndërsa kalojmë nga faqja në faqe të një faqe tjetër. Kur mbyllim shfletuesin, serveri shkatërron këtë sesion dhe herën tjetër kur futemi, krijon një të ri. Ne e përdorim këtë mekanizëm të serverit për të regjistruar nëse përdoruesi është i regjistruar tashmë në seancë apo jo. Duke lexuar këtë informacion, kur një vizitor kërkon një faqe, skripti php ose do të hapë hyrjen në faqet e mbrojtura me fjalëkalim, ose do të ofrojë të vendosni një emër përdoruesi dhe fjalëkalim.

Hapi 1: Krijoni një faqe për futjen e hyrjes dhe fjalëkalimit. Kodi HTML i formularit të autorizimit në formën e tij më të thjeshtë mund të duket kështu:

Hyrja:

Fjalëkalimi:

Këtu (në fillim të skedarit) ne do të shtojmë kodin php që do të kontrollojë saktësinë e emrit të përdoruesit dhe fjalëkalimit të futur nga vizitori. Në fillim do të shkruajmë:

fillimi i sesionit ();

Kjo komandë fillon një sesion të ri nëse nuk është krijuar tashmë për këtë vizitor.

Atëherë le të kontrollojmë nëse sesioni ka një ndryshore të quajtur 'userName' - ajo do të ruajë emrin nëse vizitori është identifikuar tashmë. Nëse ekziston një ndryshore e tillë, ridrejtoni vizitorin në faqen kryesore (index.php) dhe përfundoni ekzekutimin e këtij skripti php:

nëse ($ _ SESSION ['userName']) {

header ("Vendndodhja: indeksi.php");

dalje;

}

Pjesa tjetër e kodit do të ekzekutohet vetëm nëse përdoruesi nuk ka futur ende emrin e saktë të përdoruesit dhe fjalëkalimin. Le të tregojmë se cilat hyrje dhe fjalëkalim duhet të konsiderohen të sakta:

$ validName = 'Unë jam imi!';

$ validPass = 'fjalëkalim sekret';

Pastaj ne kontrollojmë nëse vlerat e paraqitura nga formulari përputhen me ato të sakta. Meqenëse ne kemi specifikuar metodën e transferimit të të dhënave POST në formë, ato duhet të lexohen nga variabla superglobale $ _POST:

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

$ _SESSION ['userName'] = $ validName;

header ("Vendndodhja: indeksi.php");

dalje;

}

Këtu kodi në shiritat kaçurrelë {} do të ekzekutohet me vlerat e sakta të emrit të përdoruesit dhe fjalëkalimit. Në linjë $ _SESSION ['userName'] = $ validName; ma ne shkruajmë në sesion një ndryshore të quajtur 'userName' që përmban hyrjen e përdoruesit tani të autorizuar. Kjo do të jetë shenja që hyrja është e hapur për të kudo, për sa kohë që seanca e tij aktuale është e vlefshme.

Dhe në rast se të dhëna të pasakta futen në formë, shtoni mesazhin e duhur:

tjetër jehonë"

Identifikimi ose fjalëkalimi është i pasaktë!

;

I gjithë kodi që duhet të ruhet në një skedar të quajtur login.php do të duket kështu:

<? php

fillimi i sesionit ();

nëse ($ _ SESSION ['userName']) {

header ("Vendndodhja: indeksi.php");

dalje;

}

$ validName = 'Unë jam imi!';

$ validPass = 'fjalëkalim sekret';

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

$ _SESSION ['userName'] = $ validName;

header ("Vendndodhja: indeksi.php");

dalje;

}

tjetër jehonë"

Identifikimi ose fjalëkalimi është i pasaktë!

;

?>

Hyrja:

Fjalëkalimi:

Hapi 2

Hapi 2: Krijoni një bllok autorizimi - një skedar i veçantë që do të lidhet me secilën faqe që ka nevojë për mbrojtje me fjalëkalim. Kjo skedar do të përmbajë vetëm kodin php, kështu që shtrirja e tij do të jetë "php", dhe ne do t'i japim një emër sipas traditës për skedarë të tillë - "auth", domethënë "auth.php". Dhe këtu gjithashtu, menjëherë pas hapjes së etiketës <? Php, duhet të ketë një udhëzim për të filluar një sesion:

fillimi i sesionit ();

Ne mund të lexojmë të gjitha variablat që janë ruajtur në sesion nga koleksioni superglobal $ _SESSION. Ne duhet të kontrollojmë vlerën e ndryshores "userName" - nëse vizitori nuk është identifikuar akoma, atëherë ai nuk do të jetë në grup, dhe ne do ta ridrejtojmë atë në faqen për të futur emrin e përdoruesit dhe fjalëkalimin e tij:

nëse (! $ _ SESIONI ['autorizuar']) {

header ("Vendndodhja: login.php");

dalje;

}

I gjithë kodi që duhet të ruhet në skedarin auth.php do të duket kështu:

<? php

fillimi i sesionit ();

nëse (! $ _ SESIONI ['administratori']) {

header ("Vendndodhja: shkruaj.php");

dalje;

}

?>

Hapi 3

Hapi 3: pasi t'i ruajmë këto skedarë në server, ato do të qëndrojnë në të gjitha faqet php që duhet të mbrohen nga përdoruesit e paautorizuar për të lidhur bllokun e autorizimit. Kjo është, në fillim të çdo skedari php, do të duhet të futni këtë kod:

<? php

kërkojnë "auth.php";

?>

Dhe për të ndryshuar fjalëkalimin e hyrjes, do t'ju duhet të ndryshoni vlerat e këtyre ndryshoreve në skedarin login.php:

$ validName = 'Unë jam imi!';

$ validPass = 'fjalëkalim sekret';

$ validName - identifikimi, $ validPass - fjalëkalimi.

Recommended: