login: wat is het beste
martin ligtenberg
03/01/2013 17:19:55ik 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?
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?
PHP hulp
22/05/2024 01:34:39Bo Ter Ham
03/01/2013 17:51:39Obelix Idefix
03/01/2013 18:01:11Daar is veel informatie over te vinden op internet.
Cookies alleen zou ik niet gebruiken voor een login systeem; te makkelijk te manipuleren.
IP-adres -> het schijnt dat, met name, mobieltjes regelmatig van IP adres wisselen, dus dat werkt ook niet.
Onderstaande is te vinden in http://www.phphulp.nl/php/forum/topic/cookie-login-vraag/88405/last/ en gaat over ingelogd blijven, maar geeft ook aan hoe je een login zou kunnen opzetten.
Werk in ieder geval nooit met 'plain' tekst, maar zorg voor gecodeerde wachtwoorden.
Cookies alleen zou ik niet gebruiken voor een login systeem; te makkelijk te manipuleren.
IP-adres -> het schijnt dat, met name, mobieltjes regelmatig van IP adres wisselen, dus dat werkt ook niet.
Onderstaande is te vinden in http://www.phphulp.nl/php/forum/topic/cookie-login-vraag/88405/last/ en gaat over ingelogd blijven, maar geeft ook aan hoe je een login zou kunnen opzetten.
Erwin H op 03/01/2013 13:13:56:
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.
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.