Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> sesje w bazie i cookie
Emet
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 9.07.2003

Ostrzeżenie: (0%)
-----


Witam

Napisalem wlasny session handler oparty na bazie (mysql), wszystko dziala ok, mam tylko jedna watpliwosc, mianowicie czy to jest normalne ze jesli wylacze pliki cookie poprzez session.use_cookies to w takim przypadku po kazdym odswiezeniu strony, tworzony jest calkiem nowy identyfikator sesji? Moze zle rozumialem ale wydawalo mi sie ze jesli mam obsluge sesji w bazie pliki cookie mozna wylaczyc calkowicie? jak to jest? zaznacze ze jesli pliki cookie sa uruchomione wszystko dziala poprawnie i sesja przy przejsciu na poszczegolne podstrony czy tez podczas odswiezania jest ta sama.

pozdr.
Emet
Go to the top of the page
+Quote Post
cartman_ms
post
Post #2





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 8.10.2004
Skąd: Włocławek

Ostrzeżenie: (0%)
-----


Klient musi jakoś dostać identyfikator sesji. Jeśli wyłączyłeś ciasteczka, to powinieneś doklejać do każdego odnośnika zmienną z identyfikatorem sesji. session_set_save_handler" title="Zobacz w manualu PHP" target="_manual ustawia funkcje dla przechowywania sesji na serwerze, klient dalej musi jakoś przekazywać identyfikator do kolejnych podstron.
Go to the top of the page
+Quote Post
Emet
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 9.07.2003

Ostrzeżenie: (0%)
-----


Wlasnie domyslalem sie ze tak wlasnie jest, ale musialem to potwierdzic, czyli wszystko dziala ok, mysle ze ciasteczka beda lepszym rozwiazaniem do przekazywania identyfikatora niz url ? Tylko problem jest gdy ktos ma wylaczona obsluge ciastek ? moze wtedy dopiero przekazywac identyfikator w url. Dzieki za odpowiedz.

Jest jeszcze jeden problem ktory napotkalem, jak napialem powyzej uzywam cookie do przekazania identyfikatora sesji, ustawiam wartosc session.cookie_lifetime na 300, bo chce aby po 5 minutach bezczynnosci sesja wygasla, i tak sie dzieje, dziala ok, problem powstaje wtedy kiedy uzytkownik wylaczy przeglarke przed uplywem tych 5 minut i jesli teraz po chwili znow przejdzie na ta strone to nadal jest zalogowany!

I tu pytanie, co zrobic aby po wylaczeniu przegladarki przed uplywem czasu sesji i po ponownym wejsciu na strony uzytkownik i tak musial sie zalogowac ponownie ?

Wiem ze mozna ustawic session.cookie_lifetime na 0 wtedy cookie jest kasowane po zamknieciu przegladarki - ale wtedy nie mozna ustawic znow tych 5 minut sesji, jak to polaczyc ?

Ten post edytował Emet 3.11.2004, 23:49:58
Go to the top of the page
+Quote Post
speedfire
post
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 3.11.2004
Skąd: Wolbrom

Ostrzeżenie: (0%)
-----


w skrocie w kazdym odnosciku wstaw cos takiego a href=ble.php<?=SID?>

lub przez echo czy print echo("<a href=ble.php".SID);

to powinno wystarczyc aby sesje dzialaly
Go to the top of the page
+Quote Post
cartman_ms
post
Post #5





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 8.10.2004
Skąd: Włocławek

Ostrzeżenie: (0%)
-----


Cytat(Emet @ 2004-11-03 22:00:38)
I tu pytanie, co zrobic aby po wylaczeniu przegladarki przed uplywem czasu sesji i po ponownym wejsciu na strony uzytkownik i tak musial sie zalogowac ponownie ?

Wiem ze mozna ustawic session.cookie_lifetime na 0 wtedy cookie jest kasowane po zamknieciu przegladarki - ale wtedy nie mozna ustawic znow tych 5 minut sesji, jak to polaczyc ?

Proponowałbym ustawić session.cookie_lifetime na 0, tak aby po zamknięciu przeglądarki sesja była kasowana i przy starcie sesji zarejestrować zmienną sesyjną z wartością aktualnego znacznika czasu systemu Unix (tzw. timestamp).
Na każdej podstronie możnaby sprawdzać, czy aktualny znacznik jest większy niż suma znacznika zarejestrowanego w zmiennych sesyjnych i tych 5 minut. Jeżeli byłby większy, to można by tworzyć nową sesję poprzez session_write_close" title="Zobacz w manualu PHP" target="_manual i session_start" title="Zobacz w manualu PHP" target="_manual. W ten sposób zarówno po upływie 5 minut, jak i po wyłączeniu przeglądarki sesja byłaby tworzona na nowo.

Jeśli sesja ma być kasowana tylko po upływie 5 minut bezczynności, to zainteresuj się funkcją session_cache_expire" title="Zobacz w manualu PHP" target="_manual.

Ten post edytował cartman_ms 4.11.2004, 21:49:26
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 00:08