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?
Daar 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.

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.


Werk in ieder geval nooit met 'plain' tekst, maar zorg voor gecodeerde wachtwoorden.

Reageren