Necə Icazə Verilir

Mündəricat:

Necə Icazə Verilir
Necə Icazə Verilir

Video: Necə Icazə Verilir

Video: Necə Icazə Verilir
Video: Lisenziyası olmayan universitetlərin fəaliyyətinə necə icazə verilir? (Kamran Əsədov) 2024, Bilər
Anonim

Tez-tez olur ki, ziyarətçiləri arzu olunan və arzuolunmaz hissələrə bölmək və saytın bəzi səhifələrini yalnız istifadəçi adı və şifrəsi olanlara görmək imkanı vermək lazımdır. Bunu, məsələn, server tərəfindəki skript dilində PHP-də necə etmək olar?

Necə icazə verirəm?
Necə icazə verirəm?

Təlimat

Addım 1

Səhifələrinizi icazəsiz qonaqlardan qorumağın ən asan yolunu təşkil edək. Ziyarətçinin səlahiyyətli olub olmadığı barədə məlumat verən şəxs iclas olacaqdır. Sessiya brauzerdəki çərəzlərin analoqudur, yalnız fərqi bizim kompüterimizdə deyil, serverdə yaradılıb. Və bunlar çərəzlər ilə eyni məqsəd üçün istifadə olunur - bir saytın səhifəsindən səhifəsinə keçərkən haqqımızda fərqli məlumatları saxlamaq üçün. Brauzeri bağladığımızda, server bu seansı məhv edir və növbəti dəfə daxil olduğumuz zaman yenisini yaradır. Bu server mexanizmindən istifadəçinin iclasa daxil olub-olmamasını yazmaq üçün istifadə edirik. Bu məlumatı oxuyarkən bir ziyarətçi bir səhifə tələb etdikdə, php-skript ya parolla qorunan səhifələrə giriş açacaq, ya da istifadəçi adı və şifrə daxil etməyi təklif edəcək.

Addım 1: Giriş və parol daxil etmək üçün bir səhifə yaradın. Sadə formada icazə formasının HTML kodu belə görünə bilər:

Daxil ol:

Parol:

Burada (faylın əvvəlində) ziyarətçinin daxil etdiyi istifadəçi adının və şifrəsinin düzgünlüyünü yoxlayacaq php kodu əlavə edəcəyik. Əvvəlində yazacağıq:

session_start ();

Bu komanda bu ziyarətçi üçün hələ yaradılmayıbsa, yeni bir iclasa başlayır.

Sonra iclasda 'userName' adlı dəyişən olub olmadığını yoxlayaq - ziyarətçi artıq daxil olubsa adını saxlayacaq. Belə bir dəyişən varsa, ziyarətçini əsas səhifəyə yönləndirin (index.php) və bu php skriptinin icrasını tamamlayın:

əgər ($ _ SESSION ['userName']) {

başlıq ("Yer: index.php");

çıxış;

}

Kodun qalan hissəsi yalnız istifadəçi hələ düzgün istifadəçi adı və şifrə daxil etmədiyi təqdirdə icra ediləcəkdir. Hansı giriş və parolun düzgün hesab olunacağını göstərək:

$ validName = 'Mənəm!';

$ validPass = 'gizli parol';

Sonra formadan göndərilən dəyərlərin doğru ilə uyğun olub olmadığını yoxlayırıq. Formada POST məlumat ötürmə metodunu göstərdiyimiz üçün, $ _POST superglobal dəyişənindən oxunmalıdır:

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

$ _SESSION ['userName'] = $ validName;

başlıq ("Yer: index.php");

çıxış;

}

Buradakı əyri mötərizədəki kod {} istifadəçi adı və şifrənin düzgün dəyərləri ilə icra ediləcəkdir. $ _SESSION ['userName'] = $ validName sətrində; ma iclasda, indi səlahiyyətli istifadəçinin girişini ehtiva edən 'userName' adlı bir dəyişən yazırıq. Bu, cari iclasının etibarlı olduğu müddətdə hər yerdə onun üçün açıq olacağına işarə olacaqdır.

Səhv məlumatların formaya daxil olması halında müvafiq mesajı əlavə edin:

başqa əks-səda"

Giriş və ya parol səhvdir!

;

Login.php adlı bir fayla yazılması lazım olan bütün kodlar belə görünür:

<? php

session_start ();

əgər ($ _ SESSION ['userName']) {

başlıq ("Yer: index.php");

çıxış;

}

$ validName = 'Mənəm!';

$ validPass = 'gizli parol';

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

$ _SESSION ['userName'] = $ validName;

başlıq ("Yer: index.php");

çıxış;

}

başqa əks-səda"

Giriş və ya parol səhvdir!

;

?>

Daxil ol:

Parol:

Addım 2

Adım 2: Bir icazə bloku yaradın - parol qorumasına ehtiyacı olan hər səhifəyə bağlanacaq ayrı bir fayl. Bu fayl yalnız php-koddan ibarət olacaq, ona görə də uzantısı "php" olacaq və bu cür fayllar üçün ənənəyə uyğun olaraq ona bir ad verəcəyik - "auth", yəni "auth.php". Və burada da <? Php etiketinin açılışından dərhal sonra bir iclasa başlamaq üçün bir təlimat olmalıdır:

session_start ();

Sessiyada saxlanılan bütün dəyişənləri $ _SESSION superglobal massivindən oxuya bilərik. "UserName" dəyişəninin dəyərini yoxlamalıyıq - əgər ziyarətçi hələ giriş etməyibsə, o halda massivdə olmayacaq və istifadəçi adını və şifrəsini daxil etdiyi üçün onu səhifəyə yönləndirəcəyik:

əgər (! $ _ SESSION ['səlahiyyətli']) {

başlıq ("Yer: login.php");

çıxış;

}

Auth.php sənədinə qeyd edilməsi lazım olan bütün kodlar belə görünəcəkdir:

<? php

session_start ();

əgər (! $ _ SESSION ['admin']) {

başlıq ("Yer: enter.php");

çıxış;

}

?>

Addım 3

Addım 3: bu faylları serverə qoyduqdan sonra, icazə blokunu birləşdirmək üçün icazəsiz istifadəçilərdən qorunması lazım olan bütün php-səhifələrdə qalacaq. Yəni, hər bir php sənədinin əvvəlində bu kodu daxil etməlisiniz:

<? php

"auth.php" tələb etmək;

?>

Və giriş parolunu dəyişdirmək üçün login.php faylında bu dəyişənlərin dəyərlərini dəyişdirməlisiniz:

$ validName = 'Mənəm!';

$ validPass = 'gizli parol';

$ validName - giriş, $ validPass - parol.

Tövsiyə: