![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 26.01.2007 Skąd: ostrów wlkp Ostrzeżenie: (0%) ![]() ![]() |
Cześć!
mam problem, jak zrobić coś takiego: mam baze danych mysql. jest strona ktora pobiera z bazy dane uzytkownikow i wtedy przy logowaniu php sprawdza czy haslo zgadza sie z tym wpisanym w formukarzu i bazie danych. jesli tak to loguje uzytkownika do serwisu. logowanie oparte jest na sesji. i tutaj jest wazne pytanie na ktore nie moge znalezc odpowiedzi: co zrobic zeby ten sam uzytkownik nie mogl sie zalogowac na innym kompie?? - moj pomysl jest taki zeby w bazie danych dodac tabele zalogowani i tam wprowadzic login uzytkownika ktory jest zalogowany. - wylogowanie usuwalo by go z tabeli zalogowani i tu kolejny problem - co w momencie gdy ten wlasnie uzytkownik bedzie chcial sie zalogowac na innym komputerze a na poprzednim sie nie wyloguje tylo wylaczy komputer czy tez przegladarke (po prostu zapomni kliknac wyloguj - cala operacja usuniecia go z tabeli zalogowani nie dojdzie do skutku) prosze o jakies wskazówki bo juz nie moge dac z tym rady. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 7 Dołączył: 5.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ja to rozwiazalem poprzez trzymanie danych sesji w bazie (zobacz session_set_save_handler) i wyszukiwanie w danych sesyjnych loginu uytkownika - tzn. jesli w dancyh sesji widnieje juz uzytkownik o podanym identyfikatorze to go ponownie nie logujemy. Nie jest to 100% rozwiazanie problemu (np. gdy uzytkownik wyczysci cookie a garbage collector jeszcze nie zdazy wyczyscic danych sesji i uzytkownik sprobuje zalogowac sie ponownie to zostanie odrzucony), ale wydaje mi sie, ze jest to najbardziej optymalne rozwiazanie.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.09.2025 - 23:33 |