Přihlašování na stránky pomocí ASP – princip mechanismu
Jistě jste už někdy potřebovali na svoje stránky umístit informace, ke kterým by měl mít přístup pouze omezený okruh návštěvníků. Jednoduché zaheslování pomocí Javascriptu již bylo na stránkách Interval.cz popisováno, ale díky tomu, že šlo o skript na straně klienta, bylo velice jednoduché heslo odhalit. Dnes vám předvedu řešení, které je postaveno na databázi uložené na serveru a ASP.
Díky tomu, že heslo se ověřuje na serveru, je tento způsob o něco bezpečnější. Jméno a heslo sice není umístěno přímo ve stránce, ale jelikož se posílá v hlavičce http:// požadavku nešifrovaně, lze jej velice snadno zjistit. Ovšem, když řešení popisované ve článku použijete na protokolu https://, kde jsou data přenášená mezi klientem a serverem šifrována, získáte tak bezpečné ověření identity návštěvníka.
Nejprve si nadefinujeme strukturu databáze, ve které budeme uchovávat informace o uživatelích. V našem případě bude databáze obsahovat ID uživatele, přihlašovací jméno, heslo, email a položku pro zablokování účtu. Množství údajů v databázi záleží zcela na vašich potřebách a můžete si ji podle svých potřeb neomezeně rozšiřovat.
Uživatelé se budou přihlašovat zadáním přihlašovacího jména a hesla. Položka Platnost slouží pro dočasné zablokování uživatelského účtu.
Pomocí následujícího SQL skriptu vygenerujete databázovou tabulku:
|
Pro umožnění přihlášení návštěvníka vytvoříme stránku login.asp, kam umístíme formulář, který bude obsahovat dvě položky určené pro vyplnění samotným uživatelem a jednu položku skrytou. Položky, které bude návštěvník vyplňovat jsou pochopitelně uživatelské jméno a heslo. Ve skryté položce bude schován zpracovaný parametr, který bude obsahovat informace o tom, ze které stránky byla stránka login.asp zavolána. Důvod použití této položky si vysvětlíme později.
Obsah tohoto formuláře předáme pomocí metody POST skriptu ve stejné stránce, který provede ověření vyplněných údajů v databázi a na základě výsledku ověření provede přesměrování na příslušné stránky.
Ve skriptu login.asp je již téměř tradičně použit soubor connect.asp, který obsahuje informace a funkce pro práci s databází. Stálí čtenáři již asi vědí, že obsah souboru connect.asp byl popisován v článku ASP, databáze a objekt Connection.
|
Skript ověří jméno, heslo a platnost uživatelského účtu v databázi a v případě správného ověření dojde k „zapamatování“ informací o přihlášení a následné přesměrování na příslušnou stránku.
Údaje o přihlášení se ukládají do kolekce session. Na základě takto uložené informace máme v celé ASP aplikaci informaci o přihlášeném uživateli. Jak této informace či její nedostupnosti (není přihlášen uživatel) využít ve své aplikaci si ukážeme o něco později.
V případě, že máme informaci o tom, ze které stránky byl přihlašovací dialog vyvolán, provedeme přesměrování zpět na tuto stránku, v opačném případě přesměrujeme na stránku ok.htm. Pokud však uživatel nezadal správné údaje pro přihlášení, provedeme přesměrování na stránku sorry.htm. Stránky ok.htm a sorry.htm můžou obsahovat například toto:
Kód souboru ok.htm:
|
Kód souboru sorry.htm:
|
HTML kód souborů ok.htm a sorry.htm je čistě informativní a nemá žádnou jinou funkci, než zobrazit informaci o stavu přihlášení. Je zcela na vašem uvážení, co si do těchto souborů umístíte.
Nyní máme vše připraveno pro umožnění přihlášení uživatele a v následující části článku si ukážeme, jak zamezit přístupu uživatele na libovolnou stránku bez toho, aby se nejdříve přihlásil.
Jelikož informace o tom, zda je uživatel přihlášen či není, máme uloženy v session, můžeme jednoduchým otestováním příslušné proměnné zjistit, zda můžeme či naopak nesmíme pustit návštěvníka na požadovanou stránku.
Kód pro otestování si vložíme do souboru islogin.asp. Tento soubor budeme poté vkládat pomocí INCLUDE všude, kde budeme mít potřebu ověřit identitu návštěvníka.
|
Výše uvedený kód způsobí v případě, že uživatel není přihlášen, přesměrování na přihlašovací dialog (stránka login.asp) a předá mu jako parametr URL, kam má být uživatel přesměrován po správném přihlášení.
Soubor islogin.ASP budeme vkládat do ASP stránek pomocí následujícho kódu:
|
Možná, že zde postrádáte možnost vkládat, či mazat jednotlivé uživatelské účty. Ano, máte pravdu, tuto část jsem do tohoto článku nezahrnul. Pro správu uživatelských účtu použijte prozatím nástroj, který je součástí dodávky vaší databáze. V případě použití MS SQL Serveru je to SQL Server Enterprise Manager.
To je pro dnešek vše. Zdrojové soubory si můžete stáhnout zde. V případném příštím článku na toto téma si budete moci přečíst o tom, jak umožnit uživateli změnit heslo nebo jak vytvořit rozhraní pro správu uživatelských účtů. Záleží na vašem zájmu.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Nové AI modely od Open AI a Google
22. května 2024
Nejnovější
-
Jak rozšířit úložiště Macu za pětinovou cenu?
16. prosince 2024 -
Nové trendy v doménách pro osobní projekty – DIY, LIVING a LIFESTYLE
9. prosince 2024 -
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024