![]() |
![]() ![]() |
![]() |
![]()
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 |
|
|
![]()
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.
|
|
|
![]()
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 |
|
|
![]()
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 |
|
|
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 00:08 |