Kā Autorizēt

Satura rādītājs:

Kā Autorizēt
Kā Autorizēt

Video: Kā Autorizēt

Video: Kā Autorizēt
Video: ▶️Labākais veids kā attīstīt kritisko domāšanu mūzikā 2024, Maijs
Anonim

Bieži gadās, ka ir nepieciešams sadalīt apmeklētājus vēlamos un nevēlamos, kā arī dot iespēju redzēt dažas vietnes lapas tikai tiem, kuriem ir lietotājvārds un parole. Kā to izdarīt, piemēram, servera puses skriptu valodā PHP?

Kā es varu autorizēt?
Kā es varu autorizēt?

Instrukcijas

1. solis

Organizēsim vienkāršāko veidu, kā pasargāt jūsu lapas no nesankcionētiem apmeklētājiem. Seanss būs informācijas nesējs par to, vai apmeklētājs ir pilnvarots. Sesija ir sīkfailu analogs pārlūkprogrammā, ar vienīgo atšķirību, ka tie tiek izveidoti nevis mūsu datorā, bet serverī. Tie tiek izmantoti tādiem pašiem mērķiem kā sīkdatnes - lai uzglabātu atšķirīgu informāciju par mums, kamēr mēs pārietam no vienas vietnes lapas uz otru. Kad mēs aizveram pārlūku, serveris iznīcina šo sesiju, un nākamreiz, kad piesakāmies, tas izveido jaunu. Mēs izmantojam šo servera mehānismu, lai reģistrētu, vai lietotājs jau ir pieteicies sesijā. Lasot šo informāciju, kad apmeklētājs pieprasa lapu, php skripts vai nu atvērs piekļuvi ar paroli aizsargātām lapām, vai arī piedāvās ievadīt lietotājvārdu un paroli.

1. darbība: izveidojiet lapu, kurā ievadīt pieteikšanās vārdu un paroli. Autorizācijas veidlapas HTML kods vienkāršākajā formā var izskatīties šādi:

Pieslēgties:

Parole:

Šeit (pašā faila sākumā) mēs pievienosim php kodu, kas pārbaudīs apmeklētāja ievadītā lietotājvārda un paroles pareizību. Sākumā mēs rakstīsim:

session_start ();

Šī komanda sāk jaunu sesiju, ja tā vēl nav izveidota šim apmeklētājam.

Tad pārbaudīsim, vai sesijai ir mainīgais ar nosaukumu “userName” - tas saglabās vārdu, ja apmeklētājs jau ir pieteicies. Ja ir šāds mainīgais, novirziet apmeklētāju uz galveno lapu (index.php) un pabeidziet šī php skripta izpildi:

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

galvene ("Atrašanās vieta: index.php");

Izeja;

}

Pārējais kods tiks izpildīts tikai tad, ja lietotājs vēl nav ievadījis pareizo lietotājvārdu un paroli. Norādīsim, kura pieteikšanās un parole jāuzskata par pareizu:

$ validName = 'Es esmu mans!';

$ validPass = 'slepenā parole';

Tad mēs pārbaudām, vai no veidlapas iesniegtās vērtības atbilst pareizajām vērtībām. Tā kā mēs esam norādījuši POST datu pārsūtīšanas metodi formā, tie jālasa no mainīgā $ _POST mainīgā:

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

$ _SESSION ['userName'] = $ validName;

galvene ("Atrašanās vieta: index.php");

Izeja;

}

Šeit kods cirtainajās iekavās {} tiks izpildīts ar pareizām lietotājvārda un paroles vērtībām. Rindā $ _SESSION ['userName'] = $ validName; Mēs sesijā ierakstām mainīgo ar nosaukumu “userName”, kurā ir tagad autorizētā lietotāja pieteikšanās. Tā būs atzīme, ka piekļuve viņam ir atvērta visur, kamēr viņa pašreizējā sesija ir derīga.

Ja veidlapā tiek ievadīti nepareizi dati, pievienojiet atbilstošo ziņojumu:

cits atbalss"

Pieteikšanās vai parole nav pareiza!

;

Viss kods, kas jāsaglabā failā login.php, izskatīsies šādi:

<? php

session_start ();

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

galvene ("Atrašanās vieta: index.php");

Izeja;

}

$ validName = 'Es esmu mans!';

$ validPass = 'slepenā parole';

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

$ _SESSION ['userName'] = $ validName;

galvene ("Atrašanās vieta: index.php");

Izeja;

}

cits atbalss"

Pieteikšanās vai parole nav pareiza!

;

?>

Pieslēgties:

Parole:

2. solis

2. darbība: izveidojiet autorizācijas bloku - atsevišķu failu, kas tiks savienots ar katru lapu, kurai nepieciešama paroles aizsardzība. Šajā failā būs tikai php kods, tāpēc tā paplašinājums būs "php", un mēs piešķirsim tam nosaukumu pēc šādu failu tradīcijas - "auth", tas ir, "auth.php". Arī šeit tūlīt pēc sākuma <? Php taga ir jābūt instrukcijai, kā sākt sesiju:

session_start ();

Visus mainīgos, kas sesijā tiek glabāti, mēs varam nolasīt no superglobālā masīva $ _SESSION. Mums jāpārbauda mainīgā "userName" vērtība - ja apmeklētājs vēl nav pieteicies, tad tā nebūs masīvā, un mēs novirzīsim viņu uz lapu, kur ievadīt viņa lietotājvārdu un paroli:

ja (! $ _ SESSION ['pilnvarots']) {

galvene ("Atrašanās vieta: login.php");

Izeja;

}

Viss kods, kas jāsaglabā auth.php failā, izskatīsies šādi:

<? php

session_start ();

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

galvene ("Atrašanās vieta: enter.php");

Izeja;

}

?>

3. solis

3. solis: pēc šo failu saglabāšanas serverī tas paliks visās php lapās, kuras jāaizsargā no nesankcionētiem lietotājiem, lai izveidotu savienojumu ar autorizācijas bloku. Tas ir, katra PHP faila sākumā jums būs jāievieto šis kods:

<? php

pieprasīt "auth.php";

?>

Un, lai mainītu piekļuves paroli, jums būs jāmaina šo mainīgo vērtības failā login.php:

$ validName = 'Es esmu mans!';

$ validPass = 'slepenā parole';

$ validName - pieteikšanās, $ validPass - parole.

Ieteicams: