Elfelejtett jelszó-t hogy lehet php-vel csinalni?
sokféleképp lehet. pl létrehozol egy password_resets táblát.
uuid_hash, user_id, valod_from, valid_to, ... (utána pedig a szokásos created_at,.... timestampek)
a uuid_hash pedig pk.
amikor xy jelszóemlékeztetőt kér, generálsz neki egy egyedi azonosítót (db-től függően pl pgsql-ben ezt adatbázis szinten is megteheted) de php-ben van rá függvény, vagy használod ezt a vendort: [link]
megy mellé a felhasználónév, illetve hogy meddig érvényes.
erről kiküldesz egy levelet, ami tartalmazza egy tetszőleges szöveget és egy url-t.
ehhez a fogadó oldalon (ahol a kódot bekéred) két megadási mód szokott lenni. (vagy url-ből GET-ben érkezik a hash, vagy egy form mezőben beírható, ha nincs a GET-ben a hash)
mellé bekéred még a felhasználó mail címét vagy valami más egyedi adatok (nem kötelező, de a visszaélést csökkenti) és ellenőrzöd a hasht (illetve ha bekértél mást azt is), hogy valós felhasználóhoz tartozik-e
a hash esetén ellenőrzöd az érvényességét is, hogy a valid_from és valid_to közé esik-e a jelenlegi időpont.
ha ez is megvan, és minden stimmel (egyéb esetben dobsz egy figyelmeztetést) akkor bekéred a két új jelszót. ha a jelszószabályoknak megfelel akkor pedig generálsz belőle az adott felhasználónak egy új jelszó hash-t
kb ennyi.
Érdemes megnézni az előző videót is, amiben a konkrét regisztrációs rendszer felépítését magyarázza el.
Én kicsit másként csinálom, de ez egy jó alap.
Sok sikert!
Több féle megoldás van, a lényeg viszont ugyanaz. A felhasználó belépés nélkül szeretné megváltoztatni az adatát, mindezt automatizálva. Az egyetlen pont, ahol ezt el tudod indítani, az email címe. Tehát egy felületen ahol elindítod a folyamatot, e-mail címet kérsz be. Regisztrálsz eközben a rendszerben egy csak a user-hez tartozó azonosítót, ami kulcs lesz a jelszó módosításhoz. Ezt kapja meg az e-mailben vagy getter link formátumban, vagy láttam már olyat is, hogy egy 6-8 karakter sorozatot kell a felhasználónak átmásolnia. Az új felületen, ahol tudjuk már melyik e-mail címmel próbálkozunk, lekérjük a felhasználónak átadott kódot, ha ez sikeres, felvihet új adatot, vagy be is léptethetjük.
Amire oda kell figyelni, hogy a minden és mindenki számára elérhető felületen, ahol végeredménybe a jelszót módosítjuk, olyan adatot kérjünk be, amit biztosan csak az az egy felhasználó tud. A próbálkozásokat érdemes levédeni X felett és időzítővel is ellátni, hogy lejárjon.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!