Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak wymusić wylogowanie
Forum PHP.pl > Forum > PHP
TwojPan
Witam,

Jak mozna wymusic wylogowanie sie. Zalozylem blokade ze jesli jeden user robi 'cos' to inny ma info ale jesli ten user sie nie wyloguje to kolejny nie zrobi nic. Mam to na sesjach. Jak to wymusic ? Sesja jest do zamkniecia przegladarki ale jesli ten user nie zamknie to dupa. Ja ksobie z tym poradzic ?
boro11
Może zrób tak jak w bankach, tj. np. po 15 minutach nie aktywności następuję automatyczne wylogowanie
Crozin
Możesz napisać co dokładniej chcesz zrobić? Dlaczego jeden użytkownik może robić coś tylko wtedy, gdy drugi jest wylogowany?
TwojPan
Jesli ktos cos zapisuje i nie wyloguje sie to kolejna osoba nic nie moze zrobic dopuki nie zamknie przegladarki. Mam spory ruch ale nie kazdy sie chce wylogowywac z tego co widze. skrypt jest na plikach i jelsi 2 osoby zapisza w tym samym momencie dane moze sie wszystko sypnać. Moze tak byc.


Czy jak ustawie sesje na np. 5min i osoba zamknie przegladarke to bedzie sesja zyla questionmark.gifquestionmark.gif

Czy jak ktos hasa sobie po necie i robi tez to samo i ma pootwierane zakladki i zamknie tylko tą zakladke bez wylogowania sie (ale nie zamyka przegladarki) to jak to jest teraz z tym ?
Turson
Zapisuj w bazie danych aktywność użytkowników, to masz np. tabele
aktywnosc | user_id | czas
Przy każdym przeładowaniu podstrony przez użytkownika nadpisujesz czas (o ile zalogowany), do tego porównujesz czas w bazie do bieżącego i np. jeśli różnica wynosi więcej niż x to niszczysz sesję.
TwojPan
Cytat(Turson @ 12.11.2013, 13:38:42 ) *
Zapisuj w bazie danych aktywność użytkowników, to masz np. tabele
aktywnosc | user_id | czas
Przy każdym przeładowaniu podstrony przez użytkownika nadpisujesz czas (o ile zalogowany), do tego porównujesz czas w bazie do bieżącego i np. jeśli różnica wynosi więcej niż x to niszczysz sesję.

Czy to nie to samo jak ustawienie czasu trwania sesji ? smile.gif


Potrzebuje info o przegladarkach. Jak t ojest z zakladkami i ogolnie z przegladarką - jest to to samo czy nie.
Micchaleq
Moim zdaniem powinieneś wykorzystać semafor i unikniesz edycji danego pliku przez dwie osoby jednocześnie.
Jeżeli masz jakiś fajny serwis to po co wprowadzać rywalizację do logowania? Lepiej utworzyć wywalizację dostępową do pliku.
gitbejbe
Cytat
skrypt jest na plikach i jelsi 2 osoby zapisza w tym samym momencie dane moze sie wszystko sypnać

jeśli ktoś edytuje plik, to narzucasz na niego blokade -> poczytaj o funkcji flock. Jesli obawiasz się, że akurat plik będzie zablokowany w momencie gdy jakiś uzytkownik będzie chciał coś w nim zapisać co będzie skutkować błędem, to modyfikujesz odpowiednio skrypt, który sprawdza czy plik jest zablokowany i jeśli tak to odpalasz pętle, która będzie wykonywać próbę zapisu do pliku aż do momentu powodzenia. Problem rozwiązany

do manipulowania mechanizmem sesji - czyli kontrolowania autoryzacji, czasu itd, wykorzystuje się albo ciastka albo bazę danych. w obu przypadkach musisz zapisać czas ostatniej wizyty użytkownika i porównać go z czasem kolejnej wizyty. Jeśli czas będzie większy od tego, który sobie ustalisz to sesja zostaje przerwana - to samo tyczy się autoryzacji np porównując IP oraz nazwe przeglądarki zapisaną przy logowaniu. Co jest lepsze to zależy od indywidualnego zapotrzebowania.

Moje spostrzeżenie. Twój problem wynika bardziej z Twojej niewiedzy, niż z tego, że teraz to co masz zrobione to jedyne i słuszne rozwiązanie. Zalecam zrobić najpierw poprawny system logowania w oparciu o ciastka/bazę danych, a sam zobaczysz, że Twój problem przestanie istnieć ; ) Najgorsze co możesz zrobić, to uzależniać korzystanie z Twojej witryny, od niedopracowanych mechanizmów.
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.