PDA

Pogčedajte punu verziju : Cookie, Sessions


mega023
06. 01. 2006., 19:55
Zelim da napravim login da kada se korisnik uloguje jednom da taj login traje X dana (ili neograniceno, ako ne brise/jede kolacice :) ). To mi je sve jasno kako se radi... ali me zanima kako da sacuvam sifru posetioca u kukiju?
Da li je md5($pass) dovoljan, ili da zastita bude bolja?


I jos jedno pitanje vezano za sesije (a nevezano za gore pitanje), gde moze i da li moze da se podesi koliko "traje" neka sesija, jer mi se desava da kada se neko uloguje preko sesija i nije aktivan u browseru (stoji na jednoj strani 20-30ak min) da sesija nestane?

Hvala svima u napred!

MorenoArdohain
06. 01. 2006., 23:38
Ne smestas sifru u cookie, samo njegov username... Ili njegov jedinstven broj. Tako ga 'pratis'..

Za ovo drugo:
session_cache_expire(minuta);

mega023
06. 01. 2006., 23:58
Da ali onda neko moze da jednostavno izmeni username u kolacicu i da bude ulogovan kao drugi korisnik...

Koliko sesije "usporavaju" sistem u slucaju da postoji veci broj ulogovanih koirsnika (par hiljada), i da li je bolje u tom slucaju koristiti cookies?

MorenoArdohain
07. 01. 2006., 00:08
Da ali onda neko moze da jednostavno izmeni username u kolacicu i da bude ulogovan kao drugi korisnik...


To ne moze ako je session cookie u pitanju..

Ako je u pitanju client side cookie, generisi jedinstven broj i smesti ga u cookie, pa ga prati na osnovu toga..

mega023
07. 01. 2006., 00:13
mozda sam malo zapetljao celu stvar mesanjem dve srodne stvari...

S:
znam da ne moze u slucaju sesija (jer su sesije u stvari server-side cookie, koje korisnik ne vidi), ali kod cookies moze...

C:
ideja sa random brojem je skroz OK
kada se uloguje generisem neki br i upisem ga u bazu i u korisnikov cookie.... kada opet dodje na sajt, samo proveravam da li se poklapaju user i taj generisani broj iz kolacica i baze... kako li se toga ranije nisam setio :)

MorenoArdohain
07. 01. 2006., 00:18
Jos bolja je kombinacija slova i brojeva.. 32 znaka? Nema sanse da to neko provali :)

ivanhoe
07. 01. 2006., 15:11
ako si bas paranoican, uvek mozes da posaljes dva kukija, jedan slucajno generisani session ID (to ti php radi sam) i jedan vezan za konkretnu sesiju (recimo md5 od IP-ja i username-a)

podesavanja za sessione se inace nalaze u php.ini sa nazivima session.nesto, i neke od njih mozes i u run-time da menjas...

Inace nemoj nikad da saljes passworde nigde van servera bez preke potrebe. I nemoj da koristis trenutni timestamp kao osnovu za session_id, to se da lako pogoditi, i ne koristi md5(md5($nesto)) jer postoje neke rupe koje se tada javljaju, pa je zapravo sigurnost manja, a ne veca (mada je to vec u domenu CIA, a ne prosecnih hakera...)