Kako Odobriti

Sadržaj:

Kako Odobriti
Kako Odobriti

Video: Kako Odobriti

Video: Kako Odobriti
Video: Kako izabrati buduću profesiju - fakultet 2024, Maj
Anonim

Često se dogodi da je potrebno posjetitelje podijeliti na poželjne i nepoželjne, a neke stranice stranice dati priliku samo onima koji imaju korisničko ime i lozinku. Kako to učiniti, na primjer, u skriptnom jeziku na strani servera PHP?

Kako dajem odobrenje?
Kako dajem odobrenje?

Instrukcije

Korak 1

Organizirajmo najlakši način da zaštitimo vaše stranice od neovlaštenih posjetitelja. Nosilac informacija o tome je li posjetilac ovlašten bit će sesija. Sesija je analogni kolačićima u pregledniku, s jedinom razlikom što se ne kreiraju na našem računaru, već na serveru. A 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. Kada zatvorimo preglednik, server uništava ovu sesiju i sljedeći put kada se prijavimo, kreira novu. Koristimo ovaj poslužiteljski mehanizam za bilježenje je li korisnik već prijavljen u sesiju ili nije. Čitajući ove informacije, kada 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:

Ulogovati se:

Lozinka:

Ovdje (na samom početku datoteke) ćemo 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 koja se zove 'userName' - ona će pohraniti ime ako je posjetitelj već bio prijavljen. Ako postoji takva varijabla, preusmjerite posjetitelja na glavnu stranicu (index.php) i završite s izvršavanjem ove php skripte:

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

zaglavlje ("Lokacija: index.php");

Izlaz;

}

Ostatak koda izvršit će se samo ako korisnik još nije unijeo ispravno korisničko ime i lozinku. Naznačimo koje prijave i lozinke treba smatrati ispravnima:

$ validName = 'Ja sam moj!';

$ validPass = 'tajna lozinka';

Zatim provjeravamo odgovaraju li vrijednosti predane iz obrasca tačne. Budući da smo specificirali metodu prijenosa podataka POST u obrascu, treba ih čitati iz superglobalne varijable $ _POST:

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

$ _SESSION ['userName'] = $ validName;

zaglavlje ("Lokacija: index.php");

Izlaz;

}

Ovdje će se kod u zavojima {} 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 svuda dok je njegova trenutna sesija validna.

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

inače odjek"

Prijava ili lozinka nisu tačni!

;

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

<? php

session_start ();

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

zaglavlje ("Lokacija: index.php");

Izlaz;

}

$ validName = 'Ja sam moj!';

$ validPass = 'tajna lozinka';

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

$ _SESSION ['userName'] = $ validName;

zaglavlje ("Lokacija: index.php");

Izlaz;

}

inače odjek"

Prijava ili lozinka nisu tačni!

;

?>

Ulogovati se:

Lozinka:

Korak 2

Korak 2: Stvorite autorizacijski blok - zasebnu datoteku koja će biti povezana sa svakom stranicom koja treba zaštitu lozinkom. Ova datoteka će sadržavati samo php-kôd, pa će njen nastavak biti "php", a mi ćemo joj dati ime prema tradiciji za takve datoteke - "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 neće biti u nizu, a mi ćemo ga preusmjeriti na stranicu za unos korisničkog imena i lozinke:

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

zaglavlje ("Lokacija: login.php");

Izlaz;

}

Sav kod koji treba spremiti u datoteku auth.php izgledat će ovako:

<? php

session_start ();

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

zaglavlje ("Lokacija: enter.php");

Izlaz;

}

?>

Korak 3

Korak 3: nakon što ove datoteke spremimo na server, 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

zahtijeva "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čuje se: