Cum Se Autorizează

Cuprins:

Cum Se Autorizează
Cum Se Autorizează

Video: Cum Se Autorizează

Video: Cum Se Autorizează
Video: Nodul de început și de final | Învățăm să coasem 2024, Aprilie
Anonim

Se întâmplă adesea că este necesar să împărțiți vizitatorii în dezirabili și nedorite și să oferiți ocazia de a vedea unele pagini ale site-ului doar celor care au un nume de utilizator și o parolă. Cum se face acest lucru, de exemplu, în limbajul de scriptare pe partea de server PHP?

Cum autorizez?
Cum autorizez?

Instrucțiuni

Pasul 1

Să organizăm cel mai simplu mod de a vă proteja paginile de vizitatori neautorizați. Purtătorul de informații despre dacă vizitatorul este autorizat va fi sesiunea. O sesiune este un analog al cookie-urilor dintr-un browser, cu singura diferență că acestea sunt create nu pe computerul nostru, ci pe server. Și sunt utilizate în același scop ca și cookie-urile - pentru a stoca informații diferite despre noi în timp ce mergem de la o pagină la alta a unui site. Când închidem browserul, serverul distruge această sesiune și data viitoare când ne conectăm, creează una nouă. Folosim acest mecanism de server pentru a înregistra dacă utilizatorul este deja conectat la sesiune sau nu. Citind aceste informații, atunci când un vizitator solicită o pagină, scriptul php va deschide accesul la paginile protejate prin parolă sau va oferi introducerea unui nume de utilizator și a unei parole.

Pasul 1: Creați o pagină pentru a introduce datele de conectare și parola. Codul HTML al formularului de autorizare în forma sa cea mai simplă poate arăta astfel:

Autentificare:

Parola:

Aici (chiar la începutul fișierului) vom adăuga un cod php care va verifica corectitudinea numelui de utilizator și a parolei introduse de vizitator. La început vom scrie:

session_start ();

Această comandă începe o nouă sesiune dacă una nu a fost deja creată pentru acest vizitator.

Atunci să verificăm dacă sesiunea are o variabilă numită „userName” - va stoca numele dacă vizitatorul a fost deja conectat. Dacă există o astfel de variabilă, redirecționați vizitatorul către pagina principală (index.php) și finalizați executarea acestui script php:

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

antet („Locație: index.php”);

Ieșire;

}

Restul codului va fi executat numai dacă utilizatorul nu a introdus încă numele de utilizator și parola corecte. Să indicăm ce conectare și parolă ar trebui considerate corecte:

$ validName = 'Sunt al meu!';

$ validPass = 'parola secretă';

Apoi verificăm dacă valorile trimise din formular se potrivesc cu cele corecte. Deoarece am specificat metoda de transfer de date POST în formular, acestea ar trebui citite din variabila superglobal $ _POST:

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

$ _SESSION ['userName'] = $ validName;

antet („Locație: index.php”);

Ieșire;

}

Aici codul între paranteze {} va fi executat cu valorile corecte ale numelui de utilizator și parolei. Pe linia $ _SESSION ['userName'] = $ validName; În timpul sesiunii scriem o variabilă numită „userName” care conține datele de conectare ale utilizatorului acum autorizat. Acesta va fi semnul că accesul îi este deschis oriunde, atâta timp cât sesiunea sa actuală este validă.

Și în cazul în care sunt introduse date incorecte în formular, adăugați mesajul corespunzător:

altfel ecou"

Autentificarea sau parola sunt incorecte!

;

Tot codul care trebuie salvat într-un fișier numit login.php va arăta astfel:

<? php

session_start ();

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

antet („Locație: index.php”);

Ieșire;

}

$ validName = 'Sunt al meu!';

$ validPass = 'parola secretă';

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

$ _SESSION ['userName'] = $ validName;

antet („Locație: index.php”);

Ieșire;

}

altfel ecou"

Autentificarea sau parola sunt incorecte!

;

?>

Autentificare:

Parola:

Pasul 2

Pasul 2: Creați un bloc de autorizare - un fișier separat care va fi conectat la fiecare pagină care necesită protecție prin parolă. Acest fișier va conține doar cod php, astfel încât extensia sa va fi „php” și îi vom da un nume conform tradiției pentru astfel de fișiere - „auth”, adică „auth.php”. Și și aici, imediat după deschiderea etichetei <? Php, ar trebui să existe o instrucțiune pentru a începe o sesiune:

session_start ();

Putem citi toate variabilele stocate în sesiune din matricea superglobală $ _SESSION. Trebuie să verificăm valoarea variabilei „userName” - dacă vizitatorul nu s-a conectat încă, atunci nu va fi în matrice și îl vom redirecționa către pagină pentru introducerea numelui de utilizator și a parolei:

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

antet („Locație: login.php”);

Ieșire;

}

Tot codul care trebuie salvat în fișierul auth.php va arăta astfel:

<? php

session_start ();

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

antet („Locație: enter.php”);

Ieșire;

}

?>

Pasul 3

Pasul 3: după ce salvăm aceste fișiere pe server, acesta va rămâne în toate paginile php care trebuie protejate de utilizatorii neautorizați pentru a conecta blocul de autorizare. Adică, chiar la începutul fiecărui fișier php, va trebui să inserați acest cod:

<? php

necesită „auth.php”;

?>

Și pentru a schimba parola de acces, va trebui să modificați valorile acestor variabile în fișierul login.php:

$ validName = 'Sunt al meu!';

$ validPass = 'parola secretă';

$ validName - autentificare, $ validPass - parolă.

Recomandat: