Spoznali bomo
- Kako s PHP-jem in MySQL-om izvedemo zamenjavo pozabljenega gesla
Sestavi spletni strani, ki jih prikazujeta spodnja okvirja in jih poimenuj:
15-zamenjava-PWD.php15-zamenjava-PWD-obrazec.php
Strani naj bodo izdelane v HTML5 in s CSS.
Koda PHP in MySQL
- v strani
15_zamenjavaPWD.php:- zaženi sejo in vključi datoteki za povezavo s podatkovno zbirko ter pomožne funkcije
- iz povezave preberi podatke
uid,tinid - preveri, ali so poslani podatki veljavni:
- če podatki niso veljavni, izpiše sporočilo Neveljavna ali potekla povezava za zamenjavo gesla.
- v podatkovni zbirki v tabeli password_reset_request poišče zahtevek za zamenjavo gesla glede na uporabnika, žeton in identifikator zahtevka
- preveri, ali zahtevek obstaja in ali še ni potekel:
- če zahtevek ne obstaja, izpiše sporočilo Neveljavna ali potekla povezava za zamenjavo gesla.
- če je zahtevek potekel, izpiše sporočilo Povezava za zamenjavo gesla je potekla.
- če je zahtevek veljaven, shrani potrebne podatke v sejo in uporabnika preusmeri na stran
15_zamenjavaPWD-obrazec.php
- v strani
15_zamenjavaPWD-obrazec.php:- preveri, ali v seji obstajajo podatki o veljavnem zahtevku za zamenjavo gesla; če ne obstajajo, uporabnika preusmeri na prijavno stran
15_login.php - ob oddaji obrazca preveri veljavnost CSRF žetona:
- če zahtevek ni veljaven, uporabnika preusmeri nazaj na stran
15_zamenjavaPWD-obrazec.phpin izpiše sporočilo Zahtevek ni veljaven. Poskusi znova.
- če zahtevek ni veljaven, uporabnika preusmeri nazaj na stran
- prebere novo geslo in ponovitev novega gesla
- preveri pravilnost vnosa:
- če eno od polj ni izpolnjeno, izpiše sporočilo Polji za zamenjavo gesla morata biti izpolnjeni.
- če gesli nista enaki, izpiše sporočilo Vpisani gesli morata biti enaki.
- če je novo geslo prekratko, izpiše sporočilo Novo geslo mora imeti vsaj 8 znakov.
- ponovno preveri, ali zahtevek za zamenjavo gesla v tabeli password_reset_request še obstaja in ali še ni potekel
- če je zahtevek veljaven:
- novo geslo pretvori v varen hash s funkcijo
password_hash() - v tabeli users posodobi uporabnikovo geslo
- uporabljen zahtevek izbriše iz tabele password_reset_request
- iz seje odstrani pomožne podatke za zamenjavo gesla
- shrani obvestilo Vaše geslo je bilo uspešno spremenjeno.
- uporabnika preusmeri na prijavno stran
15_login.php
- novo geslo pretvori v varen hash s funkcijo
- če pride do napake pri delu s podatkovno zbirko, izpiše sporočilo Pri spremembi gesla je prišlo do napake.
- preveri, ali v seji obstajajo podatki o veljavnem zahtevku za zamenjavo gesla; če ne obstajajo, uporabnika preusmeri na prijavno stran
Spletna aplikacija Knjige: stran 15_zamenjavaPWD-obrazec.php
Spletna aplikacija Knjige: stran 15_zamenjavaPWD.php