Ugrás a tartalomra
Oktatóvideók

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:

Ceruzarajz: monitor egyszerű sávos idővonallal, előtte billentyűzet és egér

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.