![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 24.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
W cookies przechowuję unikalny identyfikator, na podstawie którego sprawdzam w bazie danych, czy użytkownik jest zalogowany (taka własna implementacja sesji). Funkcja jest wywoływana za każdym razem, zaraz po sprawdzeniu, że użytkownik jest zalogowany - odpowiednik session_regenerate_id(). Problem jest taki, że jeśli jako zalogowany użytkownik szybko odświeżam stronę (F5), to po kilku razach w cookie mam inny UID niż jest w bazie - i zostaję wylogowany. Jeśli odświeżam w normalnym tempie, wszystko działa poprawnie. Ten post edytował sulewski 25.11.2009, 21:20:01 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Więc zabezpieczaj się przed zbyt szybkim regenerowaniem poprzez znaczniki czasu choćby. Jeśli nastąpiło przejście zbyt szybko to nie regenereuj. Dane te możesz choćby w cookies przechowywać i zmieniać skoro już ich używasz lub po stronie serwera to sprawdzać. Zbyt szybkie reakcje usera - nie regeneruj (IMG:style_emoticons/default/smile.gif) Mozna powiedzieć, że założyłbyś locka na określony czas.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 18:19 |