Kako Odobriti

Kazalo:

Kako Odobriti
Kako Odobriti

Video: Kako Odobriti

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

Pogosto se zgodi, da je treba obiskovalce razdeliti na zaželene in nezaželene ter omogočiti ogled nekaterih strani spletnega mesta samo tistim, ki imajo uporabniško ime in geslo. Kako to narediti, na primer v strežniškem skriptnem jeziku PHP?

Kako dovolim?
Kako dovolim?

Navodila

Korak 1

Organizirajmo najlažji način za zaščito vaših strani pred nepooblaščenimi obiskovalci. Nosilec informacij o tem, ali je obiskovalec pooblaščen, bo seja. Seja je analogni piškotkom v brskalniku, z edino razliko, da jih ne ustvarjamo v našem računalniku, temveč v strežniku. Uporabljajo se za isti namen kot piškotki - za shranjevanje različnih informacij o nas, ko gremo od strani do strani ene strani. Ko zapremo brskalnik, strežnik uniči to sejo in ob naslednji prijavi ustvari novo. Ta strežniški mehanizem uporabljamo za beleženje, ali je uporabnik že prijavljen v sejo ali ne. Ko obiskovalec prebere te informacije, bo php-skript odprl dostop do strani z geslom ali ponudil vnos uporabniškega imena in gesla.

1. korak: Ustvarite stran za vnos uporabniškega imena in gesla. Koda HTML obrazca za avtorizacijo v najpreprostejši obliki je lahko videti takole:

Vpiši se:

Geslo:

Tukaj (na samem začetku datoteke) bomo dodali php-kodo, ki bo preverila pravilnost uporabniškega imena in gesla, ki ga je vnesel obiskovalec. Na začetku bomo zapisali:

session_start ();

Ta ukaz začne novo sejo, če ta še ni bila ustvarjena za tega obiskovalca.

Potem preverimo, ali ima seja spremenljivko z imenom 'userName' - ime bo shranilo, če je bil obiskovalec že prijavljen. Če obstaja taka spremenljivka, preusmerite obiskovalca na glavno stran (index.php) in zaključite z izvajanjem tega php skripta:

če ($ _ SESSION ['userName']) {

glava ("Lokacija: index.php");

izhod;

}

Preostala koda se izvede samo, če uporabnik še ni vnesel pravilnega uporabniškega imena in gesla. Navedimo, katero uporabniško ime in geslo je treba šteti za pravilno:

$ validName = 'Jaz sem moj!';

$ validPass = 'skrivno geslo';

Nato preverimo, ali se vrednosti, poslane iz obrazca, ujemajo s pravilnimi. Ker smo v obrazcu določili način prenosa podatkov POST, jih je treba brati iz superglobalne spremenljivke $ _POST:

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

$ _SESSION ['userName'] = $ veljavnoime;

glava ("Lokacija: index.php");

izhod;

}

Tu se bo koda v zavitih oklepajih {} izvedla s pravilnimi vrednostmi uporabniškega imena in gesla. V vrstici $ _SESSION ['userName'] = $ validName; ma v sejo zapišemo spremenljivko z imenom 'userName', ki vsebuje prijavo zdaj pooblaščenega uporabnika. To bo oznaka, da mu je dostop odprt povsod, dokler je veljavna njegova trenutna seja.

In če so v obrazec vneseni napačni podatki, dodajte ustrezno sporočilo:

sicer odmev"

Prijava ali geslo ni pravilno!

;

Vsa koda, ki jo je treba shraniti v datoteko z imenom login.php, bo videti takole:

<? php

session_start ();

če ($ _ SESSION ['userName']) {

glava ("Lokacija: index.php");

izhod;

}

$ validName = 'Jaz sem moj!';

$ validPass = 'skrivno geslo';

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

$ _SESSION ['userName'] = $ veljavnoime;

glava ("Lokacija: index.php");

izhod;

}

sicer odmeva"

Prijava ali geslo ni pravilno!

;

?>

Vpiši se:

Geslo:

2. korak

2. korak: Ustvarite avtorizacijski blok - ločeno datoteko, ki bo povezana z vsako stranjo, ki potrebuje zaščito z geslom. Ta datoteka bo vsebovala samo php-kodo, zato bo njena pripona "php", mi pa ji bomo dali ime v skladu s tradicijo - "auth", to je "auth.php". In tudi tu bi moralo takoj po uvodni oznaki <? Php obstajati navodilo za začetek seje:

session_start ();

Vse spremenljivke, ki so shranjene v seji, lahko preberemo iz superglobalnega polja $ _SESSION. Preveriti moramo vrednost spremenljivke "userName" - če se obiskovalec še ni prijavil, potem ne bo v polju in ga bomo preusmerili na stran za vnos uporabniškega imena in gesla:

če (! $ _ SESSION ['pooblaščeno']) {

glava ("Lokacija: login.php");

izhod;

}

Vsa koda, ki jo je treba shraniti v datoteko auth.php, bo videti tako:

<? php

session_start ();

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

glava ("Lokacija: enter.php");

izhod;

}

?>

3. korak

3. korak: ko bomo te datoteke shranili na strežnik, bodo ostale na vseh straneh php, ki jih je treba zaščititi pred nepooblaščenimi uporabniki za povezavo avtorizacijskega bloka. To pomeni, da boste na samem začetku vsake datoteke php morali vstaviti to kodo:

<? php

zahtevajo "auth.php";

?>

Če želite spremeniti geslo za dostop, boste morali spremeniti vrednosti teh spremenljivk v datoteki login.php:

$ validName = 'Jaz sem moj!';

$ validPass = 'skrivno geslo';

$ validName - prijava, $ validPass - geslo.

Priporočena: