Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przedłużanie zalogowania w panelu admina
trzczy
post 11.12.2017, 09:58:50
Post #1





Grupa: Zarejestrowani
Postów: 460
Pomógł: 49
Dołączył: 5.06.2011

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


Mowa o stronie internetowej, pełniącej funkcję panelu admina. Ten panel ma różne działania, jak każdy panel. Np. dodawanie newsów, tworzenie artykułów, dodawanie userów. I wyobraźmy sobie obsługę takiego panelu.

Ktoś dodaje artykuł. Dodał i dostał potwierdzenie, że artykuł został dodany. I teraz on chce dodać usera. Ale okazuje się, że już nie jest zalogowany i niestety musi się ponownie logować.

Żeby temu zapobiec trzeba przechowywać informację w sesji, że trwa stan zalogowania. Czy wystarczy, że w sesji będzie przechowywana wartość logged=23, gdzie 23 to przykładowy id usera?

I pytanie 2: jak rozwiązać to, że np. po 5 minutach ma nastąpić automatyczne wylogowanie usera. Żeby nie był zalogowany np. 2 miesiące. A może 5 min. od przeładowania strony?
Z góry dziękuję
Go to the top of the page
+Quote Post
markonix
post 11.12.2017, 19:43:20
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Raz mówisz o przedłużeniu sesji (wygoda), a raz o jej skróceniu (bezpieczeństwo) - zdecyduj się.


--------------------
Go to the top of the page
+Quote Post
trzczy
post 12.12.2017, 06:11:09
Post #3





Grupa: Zarejestrowani
Postów: 460
Pomógł: 49
Dołączył: 5.06.2011

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


Przełużanie zalogowania na kolejne submity to jest chyba oczywistość. Bo jak zatwierdzę, np. tu na forum ten post, to nie muszę się ponownie logować na forum a dalej jestem zalogowany.

Natomiast wydawało mi się, że jest coś na rzeczy, że stan zalogowania nie powinien trwać w nieskończoność w przypadku bezczynności usera. Czy raczej nie ma potrzeby zawracać sobie tym głowy?
Go to the top of the page
+Quote Post
Puszy
post 12.12.2017, 14:43:38
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 42
Dołączył: 10.10.2011

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


Wykorzystaj rozwiązania a'la konto bankowe. Poprzez ini_set zdefiniuj session.gc_maxlifetime na interesujący Cię czas trwania sesji. W panelu admina, np. w belce kontrolnej) umieść informację "pozostały czas sesji" oraz przycisk "odśwież". Korzystając z JS odmierzaj czas pozostały do końca sesji a pod przycisk "odśwież" podepnij XHR odwołujący się do serwera. Każde wejście na stronę Twojego panelu w trakcie jeszcze aktywnej sesji spowoduje "wyzerowanie" timera z aktywnością sesji.
Go to the top of the page
+Quote Post
trzczy
post 12.12.2017, 15:04:03
Post #5





Grupa: Zarejestrowani
Postów: 460
Pomógł: 49
Dołączył: 5.06.2011

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


@Puszy zerowanie tego session lifetime odbywa się przez
?
Go to the top of the page
+Quote Post
markonix
post 12.12.2017, 17:52:42
Post #6





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Jakikolwiek request czy odświeżenie strony, wysłanie formularza POST czy właśnie request ajaxowy na dowolny adres (gdzie jest uruchomiona sesja - ta zwykle jest "globalnie" już wszędzie) powoduje owy reset.
Nawet nie trzeba cokolwiek wysyłać i zwracać.

Ten post edytował markonix 12.12.2017, 17:52:49


--------------------
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: 23.04.2024 - 22:46