![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 14.10.2016 Ostrzeżenie: (0%) ![]() ![]() |
Dzień dobry, czy można jakoś dostosować ten skrypt logowania ( lub podsunąć jakiś pomysł ) jak zrobić logowanie do programu aby zalogowany mógł być TYLKO JEDEN użytkownik (pozostali dostają info o braku możliwości zalogowania)
W bazie userów mam tylko trzy osoby i więcej nie będzie. Próbowałem dodać dodatkowe pole które wskazywało, że jest ktoś już zalogowany ale po zamknięciu przeglądarki ( nie przez opcję wyloguj) wszystko bierze w łeb ;-) Kombinowałem też z czasem ostatniej aktywności i po określonym czasie automatyczne wylogowanie lecz to rozwiązanie nie za bardzo mogę zastosować. Zakładam też, że nie można przejąć sesji zalogowanego użytkownika i wylogować go z innego kompa. Mam jeszcze pytanie czy zadanie crona do wykonania co 10 min bardzo obciąża serwer? Przykładowy system logowania:
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 342 Pomógł: 23 Dołączył: 20.01.2011 Skąd: Chełm Ostrzeżenie: (0%) ![]() ![]() |
Może zapisuj czas każdego zdarzenia(np. przejście do następnej zakładki) i potem przy próbie logowania odliczyć czy od ostatniego zdarzenia minęło 10min, jak tak to niech przepuści a jak nie to niech wali errorem że już ktoś korzysta z tego
![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 146 Pomógł: 19 Dołączył: 1.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kombinowałem też z czasem ostatniej aktywności i po określonym czasie automatyczne wylogowanie lecz to rozwiązanie nie za bardzo mogę zastosować. Czemu nie możesz zastosować? Przecież taki timeout jest dla Ciebie właśnie dobrym rozwiązaniem. Jeżeli chcesz innego rozwiązania to możesz również zrobić to w sposób następujący. Masz dodatkową tabelę tokens i przy logowaniu przypisujesz unikalny token dla użytkownika (przechowuj go przykładowo w sesji). Następnie ważność tokenu ustaw na 10 min i przedłużaj go przy każdej aktywności użytkownika. Przy próbie zalogowania użytkownika sprawdzasz czy jest aktywny jakiś token i jeżeli jest to nie logujesz użytkownika. Ten post edytował leonpro778 24.10.2018, 11:13:02 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 14.10.2016 Ostrzeżenie: (0%) ![]() ![]() |
Czemu nie możesz zastosować? Przecież taki timeout jest dla Ciebie właśnie dobrym rozwiązaniem. Jeżeli chcesz innego rozwiązania to możesz również zrobić to w sposób następujący. Masz dodatkową tabelę tokens i przy logowaniu przypisujesz unikalny token dla użytkownika (przechowuj go przykładowo w sesji). Następnie ważność tokenu ustaw na 10 min i przedłużaj go przy każdej aktywności użytkownika. Przy próbie zalogowania użytkownika sprawdzasz czy jest aktywny jakiś token i jeżeli jest to nie logujesz użytkownika. Oki, dzięki. Czyli jak widzę jest to jednak najbardziej optymalne rozwiązanie. ...a proszę jeszcze mi powiedzieć czy zadanie dla dla crona wykonywane co kilkanaście minut bardzo obciąża serwer ? Ruch na stronie nie jest duży, sprowadza się do wypełnienia kilku formularzy dziennie przez kilku użytkowników. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
czy zadanie dla dla crona wykonywane co kilkanaście minut bardzo obciąża serwer ? A czy wejście na stronę przez internautę co kilkanaście minut bardzo obciąża serwer ? -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 146 Pomógł: 19 Dołączył: 1.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Oki, dzięki. Czyli jak widzę jest to jednak najbardziej optymalne rozwiązanie. ...a proszę jeszcze mi powiedzieć czy zadanie dla dla crona wykonywane co kilkanaście minut bardzo obciąża serwer ? Ruch na stronie nie jest duży, sprowadza się do wypełnienia kilku formularzy dziennie przez kilku użytkowników. "Odpytanie" z bazy odnośnie użytkowników online raz na 10 minut przez crona to dla serwera niewiele. I to bardzo niewiele. Dodam tylko, że do tego nie potrzebujesz crona ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 1.07.2025 - 04:23 |