Kako Autorizirati

Sadržaj:

Kako Autorizirati
Kako Autorizirati

Video: Kako Autorizirati

Video: Kako Autorizirati
Video: m-B@nking tutorijal - Kako da izmirim obaveze po kreditnoj kartici i prebacim sredstva? 2024, Svibanj
Anonim

Često se dogodi da je potrebno posjetitelje podijeliti na poželjne i nepoželjne te pružiti priliku da neke stranice web mjesta vide samo oni koji imaju korisničko ime i lozinku. Kako to učiniti, na primjer, u skriptnom jeziku na strani poslužitelja PHP?

Kako mogu autorizirati?
Kako mogu autorizirati?

Upute

Korak 1

Organizirajmo najlakši način da zaštitimo vaše stranice od neovlaštenih posjetitelja. Nositelj informacija o tome je li posjetitelj ovlašten bit će sesija. Sesija je analogni kolačićima u pregledniku, s jedinom razlikom što se ne stvaraju na našem računalu, već na poslužitelju. I koriste se u istu svrhu kao i kolačići - za pohranu različitih podataka o nama dok idemo od stranice do stranice jedne stranice. Kad zatvorimo preglednik, poslužitelj uništava ovu sesiju i sljedeći put kad se prijavimo, stvara novu. Ovaj mehanizam poslužitelja koristimo za bilježenje je li korisnik već prijavljen u sesiju ili nije. Čitajući ove podatke, kad posjetitelj zatraži stranicu, php-skripta će ili otvoriti pristup stranicama zaštićenim lozinkom ili ponuditi unos korisničkog imena i lozinke.

Korak 1: Stvorite stranicu za unos prijave i lozinke. HTML kôd obrasca za autorizaciju u najjednostavnijem obliku može izgledati ovako:

Prijaviti se:

Zaporka:

Ovdje ćemo (na samom početku datoteke) dodati php-kod koji će provjeriti ispravnost korisničkog imena i lozinke koje je posjetitelj unio. Na početku ćemo napisati:

session_start ();

Ova naredba započinje novu sesiju ako ona već nije kreirana za ovog posjetitelja.

Zatim provjerimo ima li sesija varijablu pod nazivom 'userName' - ona će pohraniti ime ako je posjetitelj već bio prijavljen. Ako postoji takva varijabla, preusmjerite posjetitelja na glavnu stranicu (index.php) i dovršite izvršavanje ove php skripte:

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

zaglavlje ("Mjesto: index.php");

Izlaz;

}

Ostatak koda izvršit će se samo ako korisnik još nije unijeo ispravno korisničko ime i lozinku. Označimo koju prijavu i lozinku treba smatrati ispravnima:

$ validName = 'Ja sam moj!';

$ validPass = 'tajna lozinka';

Zatim provjeravamo podudaraju li se vrijednosti predane iz obrasca s ispravnim. Budući da smo u obrascu naveli metodu prijenosa podataka POST, treba ih čitati iz superglobalne varijable $ _POST:

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

$ _SESSION ['userName'] = $ validName;

zaglavlje ("Mjesto: index.php");

Izlaz;

}

Ovdje će se kôd u zavojnim zagradama {} izvršiti s ispravnim vrijednostima korisničkog imena i lozinke. Na liniji $ _SESSION ['userName'] = $ validName; ma zapisujemo u sesiju varijablu pod imenom 'userName' koja sadrži prijavu sada ovlaštenog korisnika. To će biti oznaka da mu je pristup otvoren svugdje dok god je njegova trenutna sesija valjana.

A u slučaju da se u obrazac unesu netočni podaci, dodajte odgovarajuću poruku:

inače odjek"

Prijava ili lozinka nisu točni!

;

Sav kod koji treba spremiti u datoteku koja se zove login.php izgledat će ovako:

<? php

session_start ();

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

zaglavlje ("Mjesto: index.php");

Izlaz;

}

$ validName = 'Ja sam moj!';

$ validPass = 'tajna lozinka';

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

$ _SESSION ['userName'] = $ validName;

zaglavlje ("Mjesto: index.php");

Izlaz;

}

inače odjek"

Prijava ili lozinka nisu točni!

;

?>

Prijaviti se:

Zaporka:

Korak 2

Korak 2: Stvorite autorizacijski blok - zasebnu datoteku koja će biti povezana sa svakom stranicom koja treba zaštitu lozinkom. Ova će datoteka sadržavati samo php-kôd, pa će njezino proširenje biti "php", a mi ćemo joj dati naziv prema tradiciji takvih datoteka - "auth", odnosno "auth.php". I ovdje bi također odmah nakon početne <? Php oznake trebala postojati uputa za započinjanje sesije:

session_start ();

Sve varijable koje su pohranjene u sesiji možemo pročitati iz superglobalnog niza $ _SESSION. Moramo provjeriti vrijednost varijable "userName" - ako se posjetitelj još nije prijavio, tada ga neće biti u polju i preusmjerit ćemo ga na stranicu za unos korisničkog imena i lozinke:

if (! $ _ SESIJA ['ovlašteno']) {

zaglavlje ("Mjesto: login.php");

Izlaz;

}

Sav kôd koji treba spremiti u datoteku auth.php izgledat će ovako:

<? php

session_start ();

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

zaglavlje ("Mjesto: enter.php");

Izlaz;

}

?>

3. korak

Korak 3: nakon što te datoteke spremimo na poslužitelj, one će ostati na svim php-stranicama koje trebaju biti zaštićene od neovlaštenih korisnika da bi se povezao autorizacijski blok. Odnosno, na samom početku svake php datoteke trebat ćete umetnuti ovaj kod:

<? php

zahtijevaju "auth.php";

?>

A da biste promijenili pristupnu lozinku, morat ćete promijeniti vrijednosti ovih varijabli u datoteci login.php:

$ validName = 'Ja sam moj!';

$ validPass = 'tajna lozinka';

$ validName - prijava, $ validPass - lozinka.

Preporučeni: