Autor Zpráva
boskowitz
Profil *
Ahoj. Rád bych se zeptal, co všechno by měl obsahovat a jak by měl vypadat bezpečný odkaz pro aktivaci nového uživatele po tom, co byl tento odkaz odeslán na platnou emailovou adresu nově registrovaného, ale ještě ne aktivovaného uživatele.

Logicky by tam měl být skript, který to obslouží a jednoznačná dentifikace daného uživatele. Mě b ale zajímalo, jestli by stačilo třeba id z databáze nebo je třeba udělat nějaký hash nebo něco jiného, aby to bylo bezpečné.

Díky
Kubo2
Profil
boskowitz:
Mě b ale zajímalo, jestli by stačilo třeba id z databáze nebo je třeba udělat nějaký hash nebo něco jiného, aby to bylo bezpečné.
Ak použiješ id používateľa v DB, príiš bezpečné to nebude :)

Väčšinou sa to robí tak (nemám to z vlastných skúseností), že si skriptom pri registrácii vygeneruješ nejaký náhodný neuhádnuteľný a unikátny reťazec s limitovanou platnosťou, uložíš ho v tabuľke používateľov do riadku s daným používateľom a pošleš odkaz napr. v tvare http://tvoj-server.sk/activate-user.php?activation-key=unikatny-retazec.

Pri overovaní potom kontroluješ, či existuje ten unikatny-retazec v DB a ak existuje, vytiahnes si datum a čas registrácie používateľa a kontroluješ platnosť (napr. 3 hodiny od registrácie).
Ak je aktivačný kľúč platný, tak ho z tabuľky v riadku toho používateľa zmažeš (aby nebol znova vyhľadateľný a tým pádom aktivačný odkaz sa stal ďalej neplatným) a pošleš mu napríklad e-mail, že jeho profil (účet, alebo ja neviem čo) bol aktivovaný, a že sa môže prihlásiť (odkaz na stránku s prihlásením).
Naopak, ak platnosť aktivačného odkazu vypršala, jednoducho registráciu toho používateľa zmažeš, a nejakým šetrným spôsobom mu oznámiš, že sa má zaregistrovať znovu.

Ale ak chceš vedieť môj názor, nedával by som aktivačnému odkazu obmedzenú platnosť, alebo by som ju nedával aspoň príliš krátku, tj. minimálne 30 hodín.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: