Кантип уруксат берүү керек

Мазмуну:

Кантип уруксат берүү керек
Кантип уруксат берүү керек

Video: Кантип уруксат берүү керек

Video: Кантип уруксат берүү керек
Video: ҮЙДӨ АКЧАНЫ КИМ КАРМАШ КЕРЕК. (пайдалуу позитив). Шейх Чубак ажы 2024, Декабрь
Anonim

Көбүнчө, келүүчүлөрдү жагымдуу жана жагымсыз деп бөлүп, колдонуучунун аты жана сыр сөзү барларга гана сайттын айрым баракчаларын көрүү мүмкүнчүлүгүн берүү керек. Маселен, PHPдин сервердик скрипт тилинде муну кантип жасасак болот?

Кантип уруксат берем?
Кантип уруксат берем?

Нускамалар

1 кадам

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

1-кадам: Кирүү жана паролду киргизүү үчүн баракча түзүңүз. Авторизация формасынын HTML коду эң жөнөкөй формада төмөнкүдөй болушу мүмкүн:

Кирүү:

Купуя сөз:

Бул жерде (файлдын башында) PHP-кодду кошобуз, ал конок тарабынан киргизилген колдонуучунун аты менен паролунун тууралыгын текшерет. Башында биз жазабыз:

session_start ();

Бул буйрук ушул конок үчүн түзүлө элек болсо, жаңы сессияны баштайт.

Андан кийин сессияда 'userName' аталышындагы өзгөрмө бар же жок экендигин текшерип көрөлү - эгер мейман буга чейин кирген болсо, анда ал аталышты сактайт. Эгер ушундай өзгөрмө бар болсо, анда келген адамды башкы бетке (index.php) өткөрүп, ушул PHP скриптин аткарып бүтүрүңүз:

эгер ($ _ SESSION ['userName']) {

баш ("Жайгашкан жер: index.php");

чыгуу;

}

Коддун калган бөлүгү колдонуучу туура логинди жана паролду киргизе элек болсо гана аткарылат. Келгиле, кайсы логин менен паролду туура деп эсептөө керектигин көрсөтөлү:

$ validName = 'Менмин!';

$ validPass = 'жашыруун сырсөз';

Андан кийин формадан берилген маанилердин туура менен дал келер-келбесин текшеребиз. Формада POST маалыматтарын берүү ыкмасын көрсөткөндүктөн, алар $ _POST superglobal өзгөрмөсүнөн окулушу керек:

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

$ _SESSION ['userName'] = $ жарактуу ат;

баш ("Жайгашкан жер: index.php");

чыгуу;

}

Бул жерде {} тармал кашаадагы код колдонуучунун аты менен паролунун туура мааниси менен аткарылат. $ _SESSION ['userName'] = $ validName сабында; ma, биз сессияга азыр колдонулган колдонуучунун логинин камтыган 'userName' аттуу өзгөрмө жазабыз. Бул анын учурдагы сессиясы жарактуу болсо, ага бардык жерде мүмкүнчүлүк ачык экендигинин белгиси болот.

Эгерде формага туура эмес маалыматтар киргизилген болсо, анда ага ылайыктуу билдирүүнү кошуңуз:

башка жаңырык"

Кирүү же пароль туура эмес!

;

Login.php деп аталган файлга сакталууга тийиш болгон бардык коддор төмөнкүдөй болот:

<? php

session_start ();

эгер ($ _ SESSION ['userName']) {

баш ("Жайгашкан жер: index.php");

чыгуу;

}

$ validName = 'Менмин!';

$ validPass = 'жашыруун сырсөз';

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

$ _SESSION ['userName'] = $ жарактуу ат;

баш ("Жайгашкан жер: index.php");

чыгуу;

}

башка жаңырык"

Кирүү же пароль туура эмес!

;

?>

Кирүү:

Купуя сөз:

2-кадам

2-кадам: Авторизациялык блокту түзүңүз - сыр сөз менен коргоону талап кылган ар бир баракка туташтырыла турган өзүнчө файл. Бул файлда php-код гана камтылат, ошондуктан анын кеңейтүүсү "php" болот, жана биз ага мындай файлдарга салт боюнча "auth", башкача айтканда "auth.php" деп ат коёбуз. Бул жерде дагы <? Php теги ачылгандан кийин, сессияны баштоо боюнча көрсөтмө болушу керек:

session_start ();

$ _SESSION супер глобалдык массивинен сессияда сакталган бардык өзгөрмөлөрдү окуй алабыз. Биз "userName" өзгөрмөсүнүн маанисин текшеришибиз керек - эгерде конок кире элек болсо, анда ал массивде жок болуп калат жана биз аны колдонуучу аты менен сыр сөзүн киргизүү үчүн баракка багыттайбыз:

if (! $ _ SESSION ['ыйгарым укуктуу']) {

баш ("Жайгашкан жер: login.php");

чыгуу;

}

Auth.php файлына сакталууга тийиш болгон бардык коддор төмөнкүдөй болот:

<? php

session_start ();

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

баш ("Жайгашкан жер: enter.php");

чыгуу;

}

?>

3-кадам

3-кадам: бул файлдарды серверде сактагандан кийин, ал уруксат блогун туташтыруу үчүн уруксатсыз колдонуучулардан корголушу керек болгон бардык php-баракчаларында калат. Башкача айтканда, ар бир php файлынын башында сиз ушул кодду киргизишиңиз керек болот:

<? php

"auth.php" талап кылуу;

?>

Жана кирүү сырсөзүн өзгөртүү үчүн, login.php файлындагы ушул өзгөрмөлөрдүн маанилерин өзгөртүү керек болот:

$ validName = 'Менмин!';

$ validPass = 'жашыруун сырсөз';

$ validName - кирүү, $ validPass - сыр сөз.

Сунушталууда: