Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapobieganie podwójnemu logowaniu
Forum PHP.pl > Forum > PHP
eldad
Zastanawiam się nad systemem logowania, który oprócz ogólnodostępnych właściwości (automatyczne logowanie za pomocą ciastka, lista aktualnie zalogowanych użytkowników, poziomy dostępu itd.) miałby też opcję wykluczania podwójnego logowania.

Wymyśliłem na razie tak:

Logowanie
- Ustawienie użytkownikowi ciastka z id użytkownika oraz haszem i zapis tego do bazy
- Sesja z id użytkownika, zapis do bazy id użytkownika i session id

W momencie kiedy ktoś inny chce się zalogować na to samo konto (nawet jeśli ma już ciastko) - sprawdzam w tabeli z sesjami i jeśli jest już zalogowany to go nie puszczam (a może nawet wylogowuję tego co jest, kasując plik sesji - nie jestem pewnien czy tak można skasować sesję)

Wygląda to aż podejrzanie prosto, nieprawdaż? tongue.gif

eldad
scanner
Proste i dobrze.
Ustawiasz sobie u siebie jakąś flagę "user zalogowany" i przy logowaniu sprawdzasz czy jest ustawiona. Jełśi tak - logout poprzedniego lub info o blokadzie. smile.gif
eldad
Flagą miał być zapis w tablicy z sesjami, hmm, widzę że bez crona się nie obejdzie - trzeba będzie cyklicznie sprawdzać, które sesje wygasły

eldad
scanner
Czemu cron?
Czy sprawdzania istnienia sesji nie może robić każde otwarcie strony?
eldad
Tak, możnaby tak zrobić, ale nie chcę tak obciążać bazy (w szczycie mam 2 odsłony na sekundę i przewiduję wzrost biggrin.gif )

poza tym, gdybym tak robił, to niepotrzebne by były sesje

eldad
scanner
No dobrze, ale co taks crona dokładnie będzie miałz a zadanie? Czytać baże i porównywac zapisane w niej sesje z sesjami na dysku?
Czy coś mieszam?

BTW: 2hity/sec. to na mniammniam.pl ?
eldad
Cytat
No dobrze, ale co taks crona dokładnie będzie miałz a zadanie? Czytać baże i porównywac zapisane w niej sesje z sesjami na dysku?
Czy coś mieszam?


dokładnie, nieelegancko, co?

Cytat
BTW: 2hity/sec. to na mniammniam.pl ?


tak (w szczycie, czyli od mniej więcej 9 do mniej więcej 16)

eldad
scanner
Cytat
Cytat
Czytać baże i porównywac zapisane w niej sesje z sesjami na dysku?
dokładnie, nieelegancko, co?
Weź pod uwagę, że i tak obciążasz bazę. A może by tak sprawdzać sesję nie przy każdych odwiedzinach, ale przy każdej próbie logowania?
Cytat
Cytat
mniammniam.pl?
tak
Gratuluję. sam tam czasem zaglądam, ale brak czasu na gotowanie.. może w trakcie urlopu... (jakoś ciasto do pizzy mi zawsze wychodzi jałowe w smaku..)
eldad
Cytat
Weź pod uwagę, że i tak obciążasz bazę. A może by tak sprawdzać sesję nie przy każdych odwiedzinach, ale przy każdej próbie logowania?

Bomba! dobry pomysł smile.gif

Cytat
Gratuluję. sam tam czasem zaglądam, ale brak czasu na gotowanie.. może w trakcie urlopu... (jakoś ciasto do pizzy mi zawsze wychodzi jałowe w smaku..)


Dzięki, a korzystałeś z przepisu mniamowego na ciasto do pizzy?

eldad
scanner
Cytat
Bomba! dobry pomysł  :)
Super.
Cytat
Dzięki, a korzystałeś z przepisu mniamowego na ciasto do pizzy?
No właśnie 10 minut temu znalazłem. Przetestuję w sobotę.
eldad
Smacznego 8)

eldad
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.