Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sesije i session_set_save_handler

[es] :: PHP :: Sesije i session_set_save_handler

[ Pregleda: 1629 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Tudfa
Jovicevic Vladimir

Član broj: 152699
Poruke: 384
*.dynamic.sbb.rs.



+3 Profil

icon Sesije i session_set_save_handler06.03.2009. u 00:29 - pre 184 meseci
Za čuvanje podataka sa sesije sam odlucio da iskoristim baze podataka. Tabela izgleda ovako session_id,session_data,expires,uid.
Našao sam tutorijal tipa ovog : http://www.zend.com/zend/spotlight/code-gallery-wade8.php i preradio ga u odnosu na
moju database klasu, ali sam odmah naišao ne neke problemčiće...

Sledeći scenario je u pitanju :

- otvorim stranicu, user se uloguje
- u tabeli session se stvori zapis koji čuva session podatke i id usera
- zatvori se browser
- otvori se stranica ponovo, isti user se uloguje
- stvara se drugi zapis i tako redom...

Kako bi trebalo da se izvrsi brisanje zapisa iz ove tabele tako da nema starih sesija za istog usera (tj. u kojoj od callback f-ja)?



 
Odgovor na temu

stsung
NS

Član broj: 12899
Poruke: 432
*.ptt.rs.



+2 Profil

icon Re: Sesije i session_set_save_handler08.03.2009. u 18:11 - pre 184 meseci
Znachi ako sam dobro shvatio zhelish da onemogucish da jedan korisnik mozhe biti prijavljen sa više računara (odnosno sa više sesija) istovremeno. Ako je tako, onda pri prijavi korisnika koji već ima dodeljenu sesiju, tu sesiju treba unishtiti u momentu prijave - dodatno bi ovde bilo uputno kreirati i jedinstveni key po polju po kojem razlikujesh korisnike kako se ta situacija na nivou baze ne mozhe desiti. Znachi u momentu kada treba da upishesh user id korisnika koji se prijavio u aktuelnu sesiju, potrebno je izvrshiti jedan delete where user_id=id_korisnika iz tabele sesija.

Svako dobro.
 
Odgovor na temu

Tudfa
Jovicevic Vladimir

Član broj: 152699
Poruke: 384
*.dynamic.sbb.rs.



+3 Profil

icon Re: Sesije i session_set_save_handler09.03.2009. u 12:47 - pre 183 meseci
Pa ne baš, mozda ja nisam dobro postavio pitanje. Inače što se tiče logovanja na isti account sa razlicitih računara,
ostavio sam da moze, ali postoji account activity log koji je dostupan korisniku...

No, pitanje je bilo kako bi bilo najbolje da obrišem zapise iz tabele session,
koji nastaju baš onako kako sam opisao u prvom postu? Mozda i nema potrebe za time jer ce garbage collector izbrisati neaktivne sesije ?

Gledao sam kako funkcionise ovo isto na phpbb forumu i tamo nakon gasenja browsera i ponovnog odlaska na neku stranicu foruma
user ostaje ulogovan i nastavlja da koristi istu sesiju, i time se ne stvara novi zapis u bazi. Kapiram da je to tako izmedju ostalog jer mu je ostao cookie.
Kod mene se stvara nov zapis u tabeli sessions, iako cookie nije obrisan (bar ga ja nisam obrisao).


 
Odgovor na temu

stsung
NS

Član broj: 12899
Poruke: 432
*.ptt.rs.



+2 Profil

icon Re: Sesije i session_set_save_handler09.03.2009. u 17:42 - pre 183 meseci
U tom sluchaju, gc() radi posao i uklanja sesije koje su istekle.

To shto ti se kreira nova sesija govori da neshto nisi dobro uradio. Potrebno je da proverish kako podeshavash cookie - stavi neki debug da ti ispishe sadrzhaj cookies kada otvarash stranicu, pa onda ako kod tog drugog otvaranja kada ti se kazhesh kreira nova sesija nishta ne ispishe, cookie znachi nije poslat, a to mozhe da znachi da ili ga nisi nikada ni poslao, ili ga shaljesh pogreshno u smislu mozhda mu podeshavash prekratko vreme ili pogreshnu putanju i slichno.

Svako dobro.
 
Odgovor na temu

Tudfa
Jovicevic Vladimir

Član broj: 152699
Poruke: 384
*.dynamic.sbb.rs.



+3 Profil

icon Re: Sesije i session_set_save_handler09.03.2009. u 21:09 - pre 183 meseci
Citat:
stsung:

To shto ti se kreira nova sesija govori da neshto nisi dobro uradio. Potrebno je da proverish kako podeshavash cookie - stavi neki debug da ti ispishe sadrzhaj cookies kada otvarash stranicu, pa onda ako kod tog drugog otvaranja kada ti se kazhesh kreira nova sesija nishta ne ispishe, cookie znachi nije poslat, a to mozhe da znachi da ili ga nisi nikada ni poslao, ili ga shaljesh pogreshno u smislu mozhda mu podeshavash prekratko vreme ili pogreshnu putanju i slichno.

Svako dobro.


Da to je bilo to, parametar session.cookie_lifetime je bio na default vrednosti (0) sto znaci do zatvaranja browsera...

Hvala mnogo
 
Odgovor na temu

[es] :: PHP :: Sesije i session_set_save_handler

[ Pregleda: 1629 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.