Hogyan Engedélyezhetem

Tartalomjegyzék:

Hogyan Engedélyezhetem
Hogyan Engedélyezhetem

Videó: Hogyan Engedélyezhetem

Videó: Hogyan Engedélyezhetem
Videó: Hogyan engedélyezhetem a PIN-kulcs jelszavát Windows 10 esetén 2024, November
Anonim

Gyakran előfordul, hogy szükséges a látogatókat kívánatos és nemkívánatosakra bontani, és lehetőséget kell adni a webhely egyes oldalainak megtekintésére csak azoknak, akiknek van felhasználónév és jelszó. Hogyan lehet ezt megtenni például a szerveroldali PHP nyelvben?

Hogyan engedélyezhetem?
Hogyan engedélyezhetem?

Utasítás

1. lépés

Szervezzük meg a legegyszerűbb módot arra, hogy megvédje oldalait az illetéktelen látogatóktól. A munkamenet lesz az információ hordozója arról, hogy a látogató engedélyezett-e. A munkamenet a böngészőben a sütik analógja, azzal az egyetlen különbséggel, hogy nem a számítógépünkön, hanem a szerveren jönnek létre. Ezeket ugyanarra a célra használják, mint a sütiket - különböző információk tárolására rólunk, miközben egyik webhelyről oldalra haladunk. Amikor bezárjuk a böngészőt, a szerver elpusztítja ezt a munkamenetet, és amikor legközelebb bejelentkezünk, létrehoz egy újat. Ezt a kiszolgáló mechanizmust használjuk annak rögzítésére, hogy a felhasználó már be van-e jelentkezve a munkamenetbe, vagy sem. Ezen információk elolvasása esetén, amikor a látogató kér egy oldalt, a php-szkript vagy hozzáférést nyit a jelszóval védett oldalakhoz, vagy felajánl egy felhasználónév és jelszó megadását.

1. lépés: Hozzon létre egy oldalt a bejelentkezés és a jelszó megadásához. Az engedélyezési forma HTML-kódja a legegyszerűbb formájában így nézhet ki:

Belépés:

Jelszó:

Itt (a fájl legelején) hozzáadunk egy php-kódot, amely ellenőrzi a látogató által megadott felhasználónév és jelszó helyességét. Az elején írjuk:

session_start ();

Ez a parancs új munkamenetet indít, ha még nem hoztak létre ilyen látogatót.

Ezután ellenőrizzük, hogy a munkamenetnek van-e a "userName" nevű változója - akkor tárolja a nevet, ha a látogató már be volt jelentkezve. Ha van ilyen változó, irányítsa át a látogatót a főoldalra (index.php), és fejezze be a php parancsfájl végrehajtását:

if ($ _ SESSION ['felhasználónév']) {

fejléc ("Hely: index.php");

kijárat;

}

A kód többi részét csak akkor hajtjuk végre, ha a felhasználó még nem adta meg a helyes felhasználónevet és jelszót. Jelöljük, melyik bejelentkezési nevet és jelszót kell helyesnek tekinteni:

$ validName = 'Az enyém vagyok!';

$ validPass = 'titkos jelszó';

Ezután ellenőrizzük, hogy az űrlapból beküldött értékek megegyeznek-e a helyesekkel. Mivel az űrlapban megadtuk a POST adatátviteli módszert, ezeket a $ _POST superglobal változóból kell kiolvasni:

if ($ _ POST ['felhasználónév'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ validName;

fejléc ("Hely: index.php");

kijárat;

}

Itt a göndör zárójeles zárójelű {} kódot a felhasználónév és a jelszó helyes értékével hajtjuk végre. A $ _SESSION ['felhasználónév'] = $ validName sorban; ma a munkamenetbe írunk egy 'userName' nevű változót, amely tartalmazza a most engedélyezett felhasználó bejelentkezését. Ez lesz az a jel, hogy a hozzáférés mindenhol nyitva áll előtte, amíg az aktuális munkamenet érvényes.

Ha pedig helytelen adatokat írnak be az űrlapba, adjuk hozzá a megfelelő üzenetet:

más visszhang"

Helytelen a bejelentkezés vagy a jelszó!

;

Az összes kód, amelyet el kell menteni a login.php nevű fájlba, így fog kinézni:

<? php

session_start ();

if ($ _ SESSION ['felhasználónév']) {

fejléc ("Hely: index.php");

kijárat;

}

$ validName = 'Az enyém vagyok!';

$ validPass = 'titkos jelszó';

if ($ _ POST ['felhasználónév'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ validName;

fejléc ("Hely: index.php");

kijárat;

}

más visszhang"

Helytelen a bejelentkezés vagy a jelszó!

;

?>

Belépés:

Jelszó:

2. lépés

2. lépés: Hozzon létre egy engedélyezési blokkot - egy külön fájlt, amely minden olyan oldalhoz csatlakozik, amely jelszóvédelmet igényel. Ez a fájl csak php-kódot fog tartalmazni, ezért kiterjesztése "php" lesz, és az ilyen fájlok hagyománya szerint nevet adunk neki - "auth", azaz "auth.php". És itt is, közvetlenül a nyitó <? Php tag után, kell lennie egy utasításnak a munkamenet indításához:

session_start ();

A munkamenetben tárolt összes változót kiolvashatjuk a $ _SESSION szuperglobális tömbből. Ellenőriznünk kell a "userName" változó értékét - ha a látogató még nem jelentkezett be, akkor az nem lesz a tömbben, és átirányítjuk az oldalra a felhasználónevének és jelszavának megadásához:

ha (! $ _ SESSION ['engedélyezett']) {

fejléc ("Hely: login.php");

kijárat;

}

Az összes kód, amelyet el kell menteni az auth.php fájlba, így fog kinézni:

<? php

session_start ();

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

fejléc ("Hely: enter.php");

kijárat;

}

?>

3. lépés

3. lépés: Miután ezeket a fájlokat elmentettük a szerverre, az összes php-oldalon meg fog maradni, amelyeket védeni kell az illetéktelen felhasználóktól az engedélyezési blokk összekapcsolásához. Vagyis az egyes php fájlok legelején be kell illesztenie ezt a kódot:

<? php

"auth.php" megkövetelése;

?>

A hozzáférési jelszó megváltoztatásához meg kell változtatnia ezen változók értékeit a login.php fájlban:

$ validName = 'Az enyém vagyok!';

$ validPass = 'titkos jelszó';

$ validName - bejelentkezés, $ validPass - jelszó.

Ajánlott: