Kocka 13
Regisztráció és beléptetés PHP-ben: mit tanít meg egy gyakorlati videósorozat?
Felhasználói fiókok kezelése PHP-ben és MySQL-ben: regisztrációs űrlap, megerősítő e-mail, jelszavak biztonságos tárolása, munkamenet és kijelentkezés.
Közzétéve:

Az alapozó PHP és MySQL leckék után a legtöbb tanuló ugyanazt szeretné: olyan oldalt, ahová a látogatók regisztrálni és belépni tudnak. Ez az első igazán „alkalmazás” jellegű feladat, és jól összefogja mindazt, amit addig tanult: űrlapokat, adatbázist, e-mail-küldést és munkameneteket.
A leckék íve
Az adatbázistábla megtervezése. Milyen adatot tárolunk egy felhasználóról, és mit nem. Kevesebb adat kevesebb kockázat.
Regisztrációs űrlap. Kötelező mezők, formai ellenőrzés a böngészőben és a szerveren is. A szerveroldali ellenőrzés nem hagyható el, mert a böngészőben futó ellenőrzés megkerülhető.
Megerősítő e-mail. Egyedi kód a levélben, amelyre kattintva a fiók aktívvá válik. Így kiszűrhetők az elgépelt és a hamis címek.
Jelszavak tárolása. A jelszót soha nem tároljuk olvasható formában, csak egyirányú, sózott lenyomatként. Ezt nem szabad „később majd” kategóriába tenni.
Beléptetés és munkamenet. A jelszó ellenőrzése, a munkamenet indítása, a védett oldalak ellenőrzése minden betöltéskor.
Elfelejtett jelszó és kijelentkezés. Új jelszó kérése időkorlátos hivatkozással, és a munkamenet tiszta lezárása.
Az adatbázis-lekérdezések védelme
Ha a felhasználó által beírt szöveg közvetlenül egy SQL-parancsba kerül, a támadó a saját parancsát csempészheti be. A védekezés alapja, hogy minden bejövő adatot megfelelően kezelünk, mielőtt adatbázishoz ér. Egy jó videósorozat ezt nem lábjegyzetként, hanem önálló leckeként tanítja.
Gyakorlat
A tanuló saját változatot építsen: például egy kis klubhonlapot, ahol csak a regisztrált tagok látják az eseménynaptárt. A videó mellé a teljes, kommentezett forráskód és egy ellenőrzőlista jár: tárolunk-e olvasható jelszót, ellenőrzünk-e minden bemenetet, lejár-e a munkamenet.