Хэрхэн зөвшөөрөх вэ

Агуулгын хүснэгт:

Хэрхэн зөвшөөрөх вэ
Хэрхэн зөвшөөрөх вэ

Видео: Хэрхэн зөвшөөрөх вэ

Видео: Хэрхэн зөвшөөрөх вэ
Видео: Бизнес Найраа Хэрхэн Хийх Вэ? 5 Зөвлөгөө / 5 Tips on Business Pitch 2024, May
Anonim

Зочдыг хүссэн, хүсээгүй гэж хувааж, сайтын зарим хуудсыг зөвхөн хэрэглэгчийн нэр, нууц үгтэй хүмүүст үзэх боломжийг олгох шаардлагатай болдог. Жишээлбэл, PHP серверийн скрипт хэл дээр үүнийг хэрхэн хийх вэ?

Би яаж зөвшөөрөл өгөх вэ?
Би яаж зөвшөөрөл өгөх вэ?

Зааварчилгаа

1-р алхам

Хуудсаа зөвшөөрөлгүй зочлогчдоос хамгаалах хамгийн хялбар аргыг зохион байгуулцгаая. Зочин зөвшөөрөлтэй эсэх талаар мэдээлэл дамжуулагч нь хуралдаан болно. Сеанс бол хөтөч дээрх жигнэмэгийн аналог бөгөөд тэдгээрийн ялгаа нь зөвхөн манай компьютер дээр биш харин сервер дээр хийгддэг. Эдгээрийг күүкитэй ижил зорилгоор ашигладаг - нэг сайтаас хуудаснаас нөгөө хуудсанд шилжих үед бидний тухай янз бүрийн мэдээллийг хадгалдаг. Бид хөтөчийг хаахад сервер энэ сессийг устгадаг бөгөөд дараагийн удаа нэвтрэх үед энэ нь шинээр үүсгэгддэг. Бид энэ серверийн механизмыг ашиглан хэрэглэгчид аль хэдийн сессэд нэвтэрсэн эсэхээ бүртгэдэг. Энэ мэдээллийг уншаад зочин хуудас хүссэн тохиолдолд php-скрипт нь нууц үгээр хамгаалагдсан хуудсууд руу нэвтрэх боломжийг нээх эсвэл хэрэглэгчийн нэр, нууц үгээ оруулахыг санал болгодог.

Алхам 1: Нэвтрэх, нууц үгээ оруулах хуудас үүсгэх. Зөвшөөрлийн хэлбэрийн HTML код хамгийн энгийн хэлбэрээр дараах байдалтай байж болно:

Нэвтрэх:

Нууц үг:

Энд (файлын эхэнд) зочин оруулсан хэрэглэгчийн нэр, нууц үг зөв эсэхийг шалгах php кодыг оруулах болно. Эхэндээ бид бичих болно:

session_start ();

Хэрэв энэ зочинд зориулж бүтээгээгүй бол энэ тушаал нь шинэ сесс эхлэнэ.

Дараа нь сессд 'userName' нэртэй хувьсагч байгаа эсэхийг шалгая - хэрэв зочин аль хэдийн нэвтэрсэн бол нэрийг нь хадгалах болно. Хэрэв ийм хувьсагч байгаа бол зочдыг үндсэн хуудас руу чиглүүлж (index.php) энэ php скриптийг ажиллуулж дуусгана уу.

хэрэв ($ _ SESSION ['userName']) {

толгой ("Байршил: index.php");

гарах;

}

Хэрэглэгчийн зөв хэрэглэгчийн нэр, нууц үгийг хараахан оруулаагүй тохиолдолд л кодын үлдсэн хэсгийг гүйцэтгэнэ. Аль нэвтрэх болон нууц үгийг зөв гэж үзэх ёстойг зааж өгье.

$ validName = 'Би минийх!';

$ validPass = 'нууц үг';

Дараа нь бид маягтаас ирүүлсэн утгууд зөв утгуудтай тохирч байгаа эсэхийг шалгана. Бид маягтанд POST өгөгдөл дамжуулах аргыг зааж өгсөн тул тэдгээрийг $ _POST superglobal хувьсагчаас унших хэрэгтэй.

хэрэв ($ _ POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ хүчинтэйName;

толгой ("Байршил: index.php");

гарах;

}

Энд буржгар хаалтанд байгаа кодыг {} хэрэглэгчийн нэр, нууц үгийн зөв утгуудаар гүйцэтгэнэ. Шулуун дээр $ _SESSION ['userName'] = $ validName; ma, бид одоо хэрэглэгчийн нэвтрэх эрхийг агуулсан 'userName' нэртэй хувьсагчийг сесс дээр бичнэ. Энэ нь түүний одоогийн хуралдаан хүчин төгөлдөр байх л юм бол түүнд нэвтрэх боломж хаа сайгүй нээлттэй байх болно.

Маягтанд буруу өгөгдөл оруулсан тохиолдолд тохирох мессежийг нэмж оруулна уу:

өөр цуурай"

Нэвтрэх эсвэл нууц үг буруу байна!

;

Login.php нэртэй файлд хадгалах шаардлагатай бүх код дараах байдалтай байна.

<? php

session_start ();

хэрэв ($ _ SESSION ['userName']) {

толгой ("Байршил: index.php");

гарах;

}

$ validName = 'Би минийх!';

$ validPass = 'нууц үг';

хэрэв ($ _ POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ хүчинтэйName;

толгой ("Байршил: index.php");

гарах;

}

өөр цуурай"

Нэвтрэх эсвэл нууц үг буруу байна!

;

?>

Нэвтрэх:

Нууц үг:

Алхам 2

Алхам 2: Зөвшөөрлийн блок үүсгэх - Нууц үгийн хамгаалалт шаардлагатай хуудас бүрт холбогдсон тусдаа файл. Энэ файлд зөвхөн php-код агуулагдах тул өргөтгөл нь "php" байх ба бид ийм файлуудын уламжлалын дагуу нэр өгнө - "auth", өөрөөр хэлбэл "auth.php". Энд бас <? Php тагийг нээсний дараа сесс эхлүүлэх заавар байх ёстой.

session_start ();

Бид $ _SESSION superglobal массиваас сессэд хадгалагдсан бүх хувьсагчуудыг уншиж болно. Бид "userName" хувьсагчийн утгыг шалгах хэрэгтэй - хэрэв зочин хараахан нэвтрээгүй байгаа бол энэ нь массивт байхгүй тул бид түүнийг хэрэглэгчийн нэр, нууц үгээ оруулах хуудсанд дахин чиглүүлэх болно.

хэрэв (! $ _ SESSION ['эрх бүхий']) {

толгой ("Байршил: login.php");

гарах;

}

Auth.php файлд хадгалах шаардлагатай бүх код дараах байдалтай байна.

<? php

session_start ();

хэрэв (! $ _ SESSION ['admin']) {

толгой ("Байршил: enter.php");

гарах;

}

?>

Алхам 3

Алхам 3: Эдгээр файлуудыг сервер дээр хадгалсны дараа энэ нь зөвшөөрлийн блокыг холбохын тулд зөвшөөрөлгүй хэрэглэгчдээс хамгаалах шаардлагатай бүх php хуудсанд үлдэх болно. Энэ нь php файл бүрийн эхэнд та энэ кодыг оруулах шаардлагатай болно:

<? php

"auth.php" -ийг шаарддаг;

?>

Нэвтрэх нууц үгийг өөрчлөхийн тулд эдгээр хувьсагчдын утгыг login.php файлд өөрчлөх шаардлагатай болно.

$ validName = 'Би минийх!';

$ validPass = 'нууц үг';

$ validName - нэвтрэх, $ validPass - нууц үг.

Зөвлөмж болгож буй: