![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 11.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Wiadomo, ze komenda session_start() wygeneruje nowa sesje...ok dzialamy na niej...pozniej zamykamy przehladarke...wchodzimy jeszcze raz na strone...i mamy ponownie nowa sesje.. Moje pytanie czy jest jakas mozliwosc aby ponownie otworzyc wczesniejsza sesje poprzez zmienna w linku ? $link = $_REQUEST['sesja_z_linku']; np. session_start($link); Pozdrawiam Paewl |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Chyba wlasnie niezbyt bezpieczne byloby gdyby sesja nie wygasala po zamknieciu przegladarki. Za bardzo nie widze mozliwosci jak wskrzesic sesje... W tym linku to co bys niby podal? Link do katalogu gdzie przechowywane sa pliki sesyjne na serwerze?
![]() -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 27.04.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Sprawa jest dość banalna.
Pierwsze co musisz zrobić to ustawić czas trwania sesji w ten sposób żeby leżały w systemie odpowiednio długo (np: ini_set('session.gc_maxlifetime', 7*24*60*60) sprawi że sesja będzie leżała na maszynie tydzień ). Następnie funkcją session_id() pobierasz identyfikator sesji i tworzysz sobie odpowiedni link, np:
Po zamknięciu przeglądarki, ponownym uruchomieniu i wklejeniu takiego linku dostaniesz stronę z już otworzoną sesją (o ile nie została usunięta z serwera). Sprawa jest jeszcze prostsza jeśli przeglądarka akceptuje ciastka. Wystarczy wtedy przy użyciu session_set_cookie_params() ustawić odpowiedno długi czas przechowywania ciastka sesyjnego i sprawa załatwiona. Mam nadzieje że pomogłem. Ten post edytował DavidPL 23.12.2004, 11:41:02 -------------------- Pozdrawiam,
Dawid |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
A z drugiej strony należy pamiętać, że dobrze napisany serwis, gdzie bezpieczeństwo jest ważne, powinien specjalnie upewniać się że taka funkcjonalność nie ma miejsca. Po prostu jest to dziura w bezpieczeństwie. Patrz atak typu session fixation.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 27.04.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Zgadza się w 100%.
Nigdzie nie napisałem że jest to zalecane, bezpieczne itp itd, a jedynie wskazałem rozwiązanie. -------------------- Pozdrawiam,
Dawid |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 24.05.2004 Skąd: krakow Ostrzeżenie: (10%) ![]() ![]() |
ja mam wiec pytanie odnosnie sesji i bezpieczenstwa. Mam system logowania userow, wykorzystuje sesje. Gdy uzytkownik sie wyloguje, sesja jest niszczona, ale: gdy da strone wstecz raz czy dwa, odswiez i wowczas znow jest ten sam uzytkownik zalogowany!! Co powinienem jeszcze dodac do systemu aby nie bylo takiej mozliwosci powrotu??
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Dasz wstecz to wroci i niby jest znow zalogowany, ale sprobuj cos zrobic - jesli sesja zostala zniszczona to powinno usera wywalic do logowania.
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 24.05.2004 Skąd: krakow Ostrzeżenie: (10%) ![]() ![]() |
Niestety tak nie jest. Po kilku kliknieciach wstecz oraz odswierz wraca do systemu i mozna zrobic wszystko nawet zmienic haslo!! Moze nieprawidlowo zamykam sesje potem to sprawdze. Ale druga kwestia: sa systemy logowania, ktore nie pozwalaja na powrot do systemu, tam sie nie da kliknac wstecz lub odswiez i zobaczyc tego co bylo ogladane - i tak powinno byc. Jak to zrobic?
ps: jak najlepiej zniszczyc dane sesji, tak:
czy tak:
![]() Ten post edytował morrison 27.12.2004, 13:36:39 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 02:08 |