Hur Man Auktoriserar

Innehållsförteckning:

Hur Man Auktoriserar
Hur Man Auktoriserar

Video: Hur Man Auktoriserar

Video: Hur Man Auktoriserar
Video: Hur man gratis skaffar ett Adobe-ID på två minuter 2024, Maj
Anonim

Det händer ofta att det är nödvändigt att dela upp besökare i önskvärt och oönskat, och att ge möjlighet att se vissa sidor på webbplatsen endast för dem som har ett användarnamn och lösenord. Hur gör jag detta till exempel på skriptspråket på serversidan PHP?

Hur godkänner jag?
Hur godkänner jag?

Instruktioner

Steg 1

Låt oss organisera det enklaste sättet att skydda dina sidor från obehöriga besökare. Bäraren av information om huruvida besökaren är auktoriserad är sessionen. En session är en analog med cookies i en webbläsare, med den enda skillnaden att de skapas inte på vår dator utan på servern. Och de används för samma ändamål som cookies - för att lagra olika information om oss medan vi går från sida till sida på en webbplats. När vi stänger webbläsaren förstör servern den här sessionen och nästa gång vi loggar in skapar den en ny. Vi använder denna servermekanism för att registrera om användaren redan är inloggad i sessionen eller inte. När man läser denna information, när en besökare begär en sida, öppnar php-skriptet antingen åtkomst till lösenordsskyddade sidor eller erbjuder att ange ett användarnamn och lösenord.

Steg 1: Skapa en sida för att ange inloggning och lösenord. Auktoriseringsformulärets HTML-kod i sin enklaste form kan se ut så här:

Logga in:

Lösenord:

Här (i början av filen) lägger vi till php-kod som kontrollerar riktigheten för det användarnamn och lösenord som besökaren angett. I början kommer vi att skriva:

session_start ();

Detta kommando startar en ny session om en inte redan har skapats för den här besökaren.

Låt oss sedan kontrollera om sessionen har en variabel som heter 'användarnamn' - den kommer att lagra namnet om besökaren redan är inloggad. Om det finns en sådan variabel, omdirigera besökaren till huvudsidan (index.php) och slutföra körningen av detta php-skript:

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

rubrik ("Plats: index.php");

utgång;

}

Resten av koden körs endast om användaren ännu inte har angett rätt användarnamn och lösenord. Låt oss ange vilket inloggning och lösenord som ska anses vara korrekta:

$ validName = 'Jag är min!';

$ validPass = 'hemligt lösenord';

Sedan kontrollerar vi om de värden som skickas från formuläret matchar de rätta. Eftersom vi har angett metoden för POST-dataöverföring i formuläret, bör de läsas från den superglobala variabeln $ _POST:

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

$ _SESSION ['userName'] = $ validName;

rubrik ("Plats: index.php");

utgång;

}

Här körs koden i lockiga hakparenteser {} med rätt värden för användarnamnet och lösenordet. På raden $ _SESSION ['userName'] = $ validName; ma vi skriver i sessionen en variabel med namnet 'userName' som innehåller inloggningen för den nu auktoriserade användaren. Detta kommer att vara märket att åtkomst är öppen för honom överallt så länge hans nuvarande session är giltig.

Och om felaktiga uppgifter anges i formuläret, lägg till lämpligt meddelande:

annars ekar"

Inloggning eller lösenord är felaktigt!

;

All kod som behöver sparas i en fil med namnet login.php ser ut så här:

<? php

session_start ();

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

rubrik ("Plats: index.php");

utgång;

}

$ validName = 'Jag är min!';

$ validPass = 'hemligt lösenord';

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

$ _SESSION ['userName'] = $ validName;

rubrik ("Plats: index.php");

utgång;

}

annars ekar"

Inloggning eller lösenord är felaktigt!

;

?>

Logga in:

Lösenord:

Steg 2

Steg 2: Skapa ett auktoriseringsblock - en separat fil som kommer att anslutas till varje sida som behöver lösenordsskydd. Den här filen innehåller endast php-kod, så dess förlängning kommer att vara "php", och vi kommer att ge den ett namn enligt tradition för sådana filer - "auth", det vill säga "auth.php". Och också här, direkt efter den inledande <? Php-taggen, bör det finnas en instruktion om att starta en session:

session_start ();

Vi kan läsa alla variabler som lagras i sessionen från $ _SESSION superglobal array. Vi måste kontrollera värdet på variabeln "userName" - om besökaren inte har loggat in ännu, kommer den inte att finnas i matrisen, och vi kommer att omdirigera honom till sidan för att ange sitt användarnamn och lösenord:

om (! $ _ SESSION ['auktoriserad']) {

rubrik ("Plats: login.php");

utgång;

}

All kod som behöver sparas i filen auth.php ser ut så här:

<? php

session_start ();

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

rubrik ("Plats: enter.php");

utgång;

}

?>

Steg 3

Steg 3: efter att vi har sparat dessa filer på servern kommer det att finnas kvar på alla php-sidor som behöver skyddas från obehöriga användare för att ansluta auktoriseringsblocket. Det vill säga i början av varje php-fil måste du infoga den här koden:

<? php

kräver "auth.php";

?>

Och för att ändra åtkomstlösenordet måste du ändra värdena för dessa variabler i filen login.php:

$ validName = 'Jag är min!';

$ validPass = 'hemligt lösenord';

$ validName - inloggning, $ validPass - lösenord.

Rekommenderad: