Autor | Zpráva | ||
---|---|---|---|
34111 Profil |
#1 · Zasláno: 20. 7. 2016, 09:50:31
Ahoj všem,
zajímalo by mě několik věcí a hodnocení z hlediska bezpečnosti. V současné době na mém portálu funguje obnovení hesla pro uživatele následujícím způsobem: 1. Tlačítko "Zapomenuté heslo" vede na formulář, kde uživatel zadá svůj e-mail, kterým se přihlašuje. 2. Při potvrzení se ověří existence zadaného e-mailu z databáze z tabulky uživatelů. Pokud e-mail existuje, vygeneruje se náhodný token, ten se zapíše do databáze a zároveň se zapíše do proměnné fp_id, která se následně použije v URL adrese zaslané na daný e-mail např. www.xy.cz/ressetpass.php?fp_id=13sd54f3sd21f5. Hodnota tokenu zůstává v databázi 30 minut. Není pod žádným hashem - je to problém? Pokud ano, proč? Když se někdo dostane do databáze, beztak už může cokoli.. Vstupy od uživatelů do formulářů jsou zabezpečeny přes php statements.. 3. Uživateli přijde e-mail s informací, že bylo zažádáno o obnovení hesla. Pokud klikne v e-mailu na tlačítko "Obnovit heslo", aktivuje se odkaz s hodnotou fp_id=token a následně je tato hodnota tokenu ověřena proti hodnotě tokenu v databázi.. Pokud se shodují, je klientovi nabídnut formulář pro nové zadání hesla. Pokud ne, je zobrazena hláška o neoprávněné změně hesla. Zajímalo by mě: 1. Je tato konstrukce z hlediska bezpečnosti v pořádku? 2. Jak se řeší v případě uživatelů, kteří se přihlašují přes Facebook? Děkuji. |
||
Jan Tvrdík Profil |
Martin Brodecký:
„Není pod žádným hashem - je to problém?“ Ano, tokeny pro reset hesla by měly být chráněny stejně jako hesla samotná. „Když se někdo dostane do databáze, beztak už může cokoli“ Na beztak se v bezpečnosti nehraje. Pokud někdo ukradne databázi, tak by pořád neměl být schopen se za nějakého uživatele přihlásit. Omezení platnosti tokenu na 30 minut zneužití stěžuje, ale neznemožnuje. „Jak se řeší v případě uživatelů, kteří se přihlašují přes Facebook?“ Většinou nijak. Pokud zapomenou heslo k FB, tak použíjí reset hesla na Facebooku. |
||
34111 Profil |
#3 · Zasláno: 20. 7. 2016, 10:10:01
Jan Tvrdík:
Díky za rychlou odpověď, hash doprogramuji, to je otázka chvilky... |
||
Časová prodleva: 8 let
|
0