necro66
24.03.2010, 19:53:39
Witam,
Mam skrypt (pisany na CakePhp) z możliwością logowania się użytkowników i próbuje zrobić funkcję kasowania/banowania wybranych kont. Problem mam z usuwaniem sesji blokowanego użytkownika, bo nawet jak wywalę konto z bazy to użytkownik będzie cały czas zalogowany. Jakim sposobem wylogować 'zdalnie' takiego delikwenta?
lobopol
24.03.2010, 20:06:07
Stwórz sobie w bazie tabele w której będziesz trzymał dane zalogowanego użytkownika (ip, przeglądarkę, czas zalogowania itp.), podczas logowania zmieniaj te dane na aktualne (zabezpieczy cię to przed zalogowaniem z wielu komputerów/przeglądarek równocześnie) i podczas każdego przeładowania strony sprawdzaj czy te dane nie uległy zmianie, jeżeli tak skasuj sesje. A przy banowaniu po prostu zmieniaj w tej tabeli np. czas zalogowania na inną niż jest zapisana, wtedy użytkownik po przeładowaniu strony będzie wylogowany.
necro66
24.03.2010, 20:35:48
Mam w tabeli z userami date logowania i w sumie mogę tak zrobić... tylko myślałem że da się tego uniknąć i nie trzeba będzie robić 'zbytecznych' (albo i nie) zapytań do bazy... Zapewne zrobię tak jak radzisz, ale jak by ktoś znał jakieś inne ciekawe sposoby na rozwiązanie tego problemu to chętnie wysłucham