![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
cześć
mam banalne pytanie, i może śmieszne i głupie zarazem więc prosze o wyrozumiałość dla "skrępowanego umysłu" ![]() ale zgłupiałem , więc pytam: czy jeżeli ustawię sesje na x czasu , np: 10 minut to czy ona wygaśnie po tym czasie mimo tego że będzie działanie na stronie, czy "nie wygaśnie" ![]() ![]() dzięki Ten post edytował dopelganger 3.07.2014, 08:11:23 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Pojęcie 'długość trwania sesji' oznacza, że jeśli user zalogował się na stronę - jest zalogowanym użytkownikiem - ale pozostał on na jakiejś stronie u Ciebie i nie wykonuje żadnych operacji (nie odświeża strony, nie przechodzi między podstronami - po prostu jest nieaktywny) to jeśli wreszcie powiedzmy po pół godziny się zjawi i zrobi jakikolwiek ruch na stronie to skrypt z automatu go wyloguje bo długość sesji była ustawiona powiedzmy na 10 minut.
Ja u siebie robię to tak: Pod session_start(), dorzucam session_regenerate_id w celu zabezpieczenia się przed session hijacking i co odświeżenie strony taki kod:
tylko, że to jest w OOP, ale to nie ważne. Teraz sam sobie sprawdzasz ile trwała sesja usera, sprawdzasz czy user_agent się zgadza oraz czy adres IP pasuje. Po pierwsze w miare zabezpieczone po drugie masz długość sesji i wylogowanie po przekroczeniu tego czasu. Ten post edytował Michael2318 3.07.2014, 08:47:48 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli jest hosting współdzielony to może i tak nie zadziałać.
Jeżeli będzie akcja to nie wygaśnie tu masz ciekawy wątek: http://stackoverflow.com/a/1270960 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Pojęcie 'długość trwania sesji' oznacza, że jeśli user zalogował się na stronę - jest zalogowanym użytkownikiem - ale pozostał on na jakiejś stronie u Ciebie i nie wykonuje żadnych operacji (nie odświeża strony, nie przechodzi między podstronami - po prostu jest nieaktywny) to jeśli wreszcie powiedzmy po pół godziny się zjawi i zrobi jakikolwiek ruch na stronie to skrypt z automatu go wyloguje bo długość sesji była ustawiona powiedzmy na 10 minut. robie testa ![]() test:
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Ale nic nie wyciąnąłeś z tego co Ci napisałem. Po pierwsze wywal to wszystko:
session_start() podczas załadowania całej aplikacji ma zawsze występować tylko raz i ma to być druga linia pliku, zaraz po <?php. Dalej, zaraz pod session_start, wrzuć session_regenerate_id(true);. Następnie do sesji masz przypisać tablicę z danymi, czyli oprócz Twojego test (zakładam, że to jest nick usera obecnie zalogowanego), masz zapisać czas ostatniej aktywności:
I teraz masz sprawdzać to w ten sposób:
Tylko jeszcze pamiętaj, żeby po tym całym sprawdzaniu dodać aktualizacje czasu ostatniej aktywności sesji na obecny czas bo inaczej to zawsze po przekroczeniu tego 10min będzie wylogowywać.
napisałem Ci praktycznie gotowca. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:03 |