Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie
Forum PHP.pl > Forum > PHP
kalu111
W jaki sposób mozna zablokowac logowanie na strone z jednego hasla. To znaczy chce, aby z jedego hasla i logina w tym samym czasie mogla logowac sie tylko jedna osoba. Myslalem o sesjach lub bazie danych i zapisyswac w nich np. id usera itd??
Czy jest to dobre rozwiazanie? Lub może jest jeszcze inne??
cicik
Możesz w bazie w tabeli z userami zapisywać id esji logującego się użytkownika.
Jak następny zaloguje się tym samym loginem i hasłem to jego id sesji nadpisze stare i wcześniej zalogowanego użytkownika wywali. Oczywiście przy każdym przeładowaniu musisz sprawdzać czy id sesji z bazy jest zgodne z tym z httpequesta.
kalu111
tez dobre rozwiazanie:)
Ale wczesniej zalogowanego uzytkownika nie moge wywalac, tylko poprostu tego drugiego musze blokowac:)

THX
cicik
Cytat(kalu111 @ 17.09.2006, 18:42:43 ) *
tez dobre rozwiazanie:)
Ale wczesniej zalogowanego uzytkownika nie moge wywalac, tylko poprostu tego drugiego musze blokowac:)

THX


A tak to ciężko.
Żądania HTTP maja tą brzydką ceche, że nie pamiętaja co było wcześniej.
Musiałbyś obligować userów aby przed zamknięciem okna przeglądarki klikali guzik "Wyloguj" bo inaczej wszystko ci sie zatka.
Mystic007
Można dać autoczyszczenie danych z tabeli jeśli user nie przejdzie na inną podstronę przez np. 5 minut. Zapisujesz w tabeli w dodatkowym polu w mktime czas dłuższy o np. 5 minut, potem obliczasz mktime dla aktualnej daty i godziny i do if'a. Jeśli czas z bazy jest większy niż jest aktualnie to nie można sie logować, jeśli przeciwnie to można, a stary rekord jest usuwany. Mam nadzieję ż erozumiesz....
cicik
Cytat(Mystic007 @ 17.09.2006, 22:22:50 ) *
Można dać autoczyszczenie danych z tabeli jeśli user nie przejdzie na inną podstronę przez np. 5 minut.


Mozna tak zrobić tylko pytanie co zrobi jeśli na jakiejś stronie zatrzyma się prez 6 minut.
Moim zdaniem wszelkie rozwiązania typu "załóżmy, że user nie będzie na jednej stronie dłużej niż .... minut" są skazane na porażkę.

Moim zdaniem lepiej zadbać o to aby na jeden login i hasło mogła wejść tylko jedna osoba fizyczna (bo chyba tylko jedna osoba powinna znać hasło do konkretnego loginu).
kalu111
Cytat
Moim zdaniem lepiej zadbać o to aby na jeden login i hasło mogła wejść tylko jedna osoba fizyczna (bo chyba tylko jedna osoba powinna znać hasło do konkretnego loginu).
W logowoaniu oto wlasnie sie rozchodzi, zeby jedna osoba znala swoj login i haslo. Ale co, jesli np logowanie jest usluga platna, i osoba ktora wykupila abonament na korzystanie z serwisu poda haslo innej osobie i ta bedzie miala rowniez swobodny dostep do strony. Takiej praktyki raczej nie da sie przeciwdzialc, chyba ze ktos zna jakis sposob, aby zapezbieczyc taki serwis. Kombinowanie z USER-AGENTEM, IP i temu podobne raczej tez na nic sie nie przyda wiec trzeba sie chyba pogodzic z tym faktem.
Nie wiem przypadkiem, czy sam se nie odpowiedzialem na swoje pytanie, ale wszystkim zainteresowanym wielkie dzieki smile.gif
A moze jednak nie.......... smile.gif
cicik
Cytat(kalu111 @ 17.09.2006, 23:07:47 ) *
Nie wiem przypadkiem, czy sam se nie odpowiedzialem na swoje pytanie


Chyba sobie odpowiadasz.
Zrob tak ze gosc placi za np. 30 godzin dostepu do archiwum (wyborcza tak ma). To czy te 30 godzin wykorzysta jedna osoba czy dwie to juz nie ma znaczenia.
kalu111
tak tez pomyslalme sobie smile.gif hehe
Mystic007
Czy ja wim czy skazane na porażkę? Poprostu to coś tylu auto logout'u... Można dać dotego stosowną informację i już po kłopocie. Czas (ja podałem 5min.) zależy też jakie dane będą na stronie.
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.