Řekněme, že název databázové tabulky pro trvalý soubor cookie je pcookies s následujícími sloupci:
- id_cookie (CHAR)
- id_uživatele (INT)
- vypršení platnosti (DATETIME)
- sůl (CHAR)
Postup vytvoření souboru cookie:
- Po úspěšném přihlášení vytvořte v databázi záznam cookie pod jedinečným ID. Můžete jej vygenerovat pomocí hash_hmac('sha512', $token, $salt), kde $token=uniqid($user_id, TRUE) a $salt=md5(mt_rand()).
- Uložte „ID uživatele“, „Doba platnosti“ a „Sůl“ spolu s „ID souboru cookie“ do databáze.
- Uložte 'cookie id' a 'token' do cookie.
Kroky ověření:
- Pokud je nalezen trvalý soubor cookie, nejprve zkontrolujte, zda je záznam dostupný v databázi.
- Pokud je záznam k dispozici, zkontrolujte, zda platnost souboru cookie vyprší či nikoli.
- Pokud platnost souboru cookie nevyprší, ověřte ID souboru cookie pomocí $cookie_id ==hash_hmac('sha512',$token_from_cookie,$salt_from_db).
- Jakmile je soubor cookie ověřen, odstraňte jej z databáze a vytvořte nový soubor cookie podle výše uvedených kroků pro vytvoření souboru cookie.
- Pokud je soubor cookie shledán jako neplatný, vymažte soubor cookie ze zařízení a odstraňte všechny ostatní záznamy o souborech cookie uživatele z databáze, všimněte si použití o pokusu o krádež a přejděte k procesu ručního přihlášení.
Poznámky:
- Když je relace dostupná, ignorujte kontrolní soubor cookie.
- Po odhlášení vymažte soubor cookie spolu se záznamem databáze.
- Nikdy nedovolte uživatelům provádět citlivé požadavky, jako je změna hesla nebo zobrazení informací o kreditní kartě z trvalého přihlášení pomocí cookie. Vyvolejte heslo pro přihlášení a přidejte příznak do relace, abyste umožnili všechny další operace.