(1) Iedereen vind het makkelijk als hij/zij niet hoeft in te loggen als je een site bezoekt waarvan je lid bent.
(2) Maar niemand vind het leuk als iemand anders op zijn/haar account gaat lopen prutsen.

Je wilt je bezoekers dus graag helpen met 1, maar 2 is minstens net zo belangrijk.
Vertel ons eens wat JIJ zou doen?
Ik heb een sessie klasse gemaakt geinspireerd op phpBB 3 (forum). Hier wordt in de cookie een sessie_id gegenereerd (unieke md5 string) en het user id opgeslagen. Uiteraard wordt er ook een record aangemaakt in de sessie tabel, hierbij wordt dan o.a. het ip-adres en de browser opgeslagen.

Een geldige sessie is als in de cookie en de database de sessie_id, user_id, ip-adres en browser overeenkomen.

Als mensen de browser sluiten is de cookie niet meer geldig, dus mensen moeten zich steeds weer overnieuw inloggen. Ik maak een webshop dus dit is een vereiste, voor mij.

Ook maak ik gebruik van wachtwoord versleuteling doormiddel van Javascript (http://pajhome.org.uk/crypt/md5). Snuffelaars maken geen kans meer dus.

Ik denk dat het op deze manier aardig veilig is.

edit:

En vertrouw nooit de waarde van Superglobals, dus ook niet de $_SERVER superglobal.
Ontopic: Ik dwing gebruikers altijd om actief in te loggen. Bij "gebruiker" wordt nog veel te vaak aan mensen gedacht, maar het is gewoon een computer aan de client-side.

Als Pietje inlogt en automatisch ingelogd blijft als hij niet actief uitlogt (en veel Pietjes doen dat) dan kan Keesje op de zelfde PC met de account van Pietje aan de gang.

In dit geval geef ik de security dan voorrang. Mijn loginsystemen werken dan ook niet met cookies.
Jan Koehoorn schreef op 04.01.2006 19:17

In dit geval geef ik de security dan voorrang. Mijn loginsystemen werken dan ook niet met cookies.


Waarmee werkt je dan?
Martijn! schreef op 04.01.2006 19:11

Ook maak ik gebruik van wachtwoord versleuteling doormiddel van Javascript (http://pajhome.org.uk/crypt/md5). Snuffelaars maken geen kans meer dus.


Die laatste zin snap ik niet. Waarom maken snuffelaars geen kans meer? Omdat je JavaScript gebruikt?
Bijna iedereen heeft Javascript aanstaan in de browser dus maak je veel minder kans dat mensen je wachtwoord kunnen achterhalen aan de hand van de gegevens die je verstuurd naar de server.
Martijn! schreef op 04.01.2006 19:20
Waarmee werk je dan?


Met password versleuteling via SHA1. Bij een fout wachtwoord geen melding geven en sleep(5) toepassen tegen brute-forcen.
Maar ik neem aan dat je niet per pagina weer overnieuw moet inloggen, bij jou?

Dus, hoe weet je dat Piet wel Piet is?

SHA1 lijkt mij trouwens wel een goede verbetering t.o.v.
MD5. 128 vs 160 bit.
Ooit van sessies gehoort?
Jawel, maar ik vraag aan Jan wat voor sessie hij heeft, want hij werkt niet met cookies.
:S

Bij mij niet, niet client-side in ieder geval

Reageren