ik ben bezig met het maken van een login systeem gebaseerd op ezsql(mysql) en php,
nu kom ik op het punt dat ik niet weet dat ik niet zeker weet wat het beste en veilgigste is.
als een gebruiker is ingelogt moet je dit op 1 of andere manier registreren,
de twee manieren die ik kan bedenken,
- via coekies
- via database (registeren ip adres)
wat is het besten?
is er nog een andere manier die beter is?
Wat ik gebruik is een cookie met daarin een hash en een uniek id. Diezelfde hash en id sla ik op in de database, waarbij dan ook het user_id staat. Als de gebruiker terugkomt naar de site check ik dat cookie tegen de database en komen hash en id overeen, dan log ik de user in. Tegelijk maak ik een nieuw record aan met nieuwe hash en nieuw id, cookie wordt ook opnieuw geplaatst.
Komen ze niet overeen, dan verwijder ik het cookie en is de gebruiker dus niet ingelogd.
Omdat de hash en id niet in de users tabel staan, kan een gebruiker meerdere sessies op die manier open houden over verschillende apparaten.
Edit: in combinatie met dat browserfingerprinting kan je het gevaar van stelen van cookies dan nog verminderen.
Werk in ieder geval nooit met 'plain' tekst, maar zorg voor gecodeerde wachtwoorden.