Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Opcja "zapamiętaj mnie" szwankuje
Gray
post 4.02.2016, 17:15:34
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

Ostrzeżenie: (10%)
X----


Hej, posiadam skrypt w którym mam opcję zalogowania się jednak do tej pory bez opcji zapamiętania dłużej niż do zakończenia sesji przeglądarki. Dorobiłem zapamiętanie przez ciasteczko wg licznych instrukcji z internetu jednak coś działa nie tak jak powinno.

Sytuacja wygląda następująco:

- Po zalogowaniu się na mojej stronie w przeglądarce tworzone jest ciasteczko z datą wygaśnięcia ustawioną na "za tydzień" (sprawdziłem to w opcjach przeglądarki).
- Po kliknięciu "wyloguj" zostaję prawidłowo wylogowany i po odświeżeniu/ponownym wejściu na stronę nie zostaję zalogowany czyli prawidłowo jednak ciasteczko w przeglądarce nadal istnieje bez zmian.
- Zainstalowałem na tym samym hostingu forum phpbb i tam zapamiętanie zalogowania działa prawidłowo.

Problem jest w tym, że kiedy zaloguję się na swojej stronie to zalogowanie zamiast utrzymywać się przez ustawiony tydzień, utrzymuje się zaledwie trochę ponad 2 godziny (nawet jeśli wyłączę i włączę przeglądarkę).

Dochodzę do wniosku, że to co zostaje skasowane podczas kliknięcia "wyloguj" usuwa się samo po około 2h niezależnie od tego na ile jest ustawione ciasteczko... jednak to tylko moje spekulacje, może mi ktoś pomóc kto się zna lepiej?

Obecnie fragment odpowiedzialny za sesje i ciasteczko wygląda u mnie tak:

  1. ini_set('session.gc_maxlifetime',604800);
  2. setcookie(session_name(), session_id(), time()+604800, "/");
  3. date_default_timezone_set('Europe/Warsaw');
Go to the top of the page
+Quote Post
patwoj98
post 4.02.2016, 17:32:05
Post #2





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

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


Dlaczego ustawiasz dane sesji w ciasteczku? Nie jestem specem, ale spróbuj nazwać je jakoś normalnie a nie session_id bo session_id zmienia się dość często wink.gif
Go to the top of the page
+Quote Post
Gray
post 5.02.2016, 15:40:51
Post #3





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

Ostrzeżenie: (10%)
X----


Czyli na co powinienem zmienić value ciasteczka? Powinno być ono unikalne dla każdego usera, tajne i w ogóle zakodowane czy po prostu mogę je zmienić na stałą wartość np:

  1. setcookie(session_name(), "mojeciastko", time()+604800, "/");


Pytam ponieważ jestem dość zielony w tym temacie.

Ten post edytował Gray 5.02.2016, 15:41:08
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 00:55