![]() |
![]() |
![]()
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: 82 Pomógł: 18 Dołączył: 2.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
trzymaj w tej tabeli również czas ostatniej aktywności użytkownika - przy każdym wejściu na stronę zmieniaj tą wartość
a przy logowaniu sprawdzaj czy była aktywność przez ostatnie np. 5 minut |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 80 Pomógł: 3 Dołączył: 9.12.2006 Skąd: Kraków Ostrzeżenie: (10%) ![]() ![]() |
Zapisuj w sesji adres IP komputera z którego zalogował sie obecnie userek.
I weryfikuj IP przy logowaniu. Jeżeli jest inne od zapisanego obecnie w sesji to nie loguj. -------------------- Historia wynalazków naukowych i technicznych uczy nas, że rasa ludzka uboga jest w niezależną myśl twórczą i wyobraźnię... człowiek musi niejako dosłownie potknąć się o rzecz samą, aby mu zakwitła Idea. [b]Albert Einstein[/b]
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 15 Dołączył: 10.09.2006 Skąd: Siemianowice Śląskie / Katowice Ostrzeżenie: (0%) ![]() ![]() |
@Kethrax ae w przypadku zmiennego IP nigdy nie wejdzie na stronę
![]() -------------------- woop woop.
|
|
|
![]()
Post
#5
|
|
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.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 9 Dołączył: 22.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Proszę pamiętać o takich sieciach, w których kolejne zapytania są wysyłane z różnych IP.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 7 Dołączył: 5.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
@djstrong No wlasnie o tym wspomnial dr_NO a moje rozwiazanie w ogole nie bierze pod uwage IP
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 9 Dołączył: 22.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pojęcie "zmienne IP" jest głównie kojarzone ze zmianą podczas logowania do sieci (np. neostrada). Nie wiem co miał na myśli dr_NO, ale wolałem dodać, bo mało osób wie o takiej możliwości. W przeszłości byłem w takiej sieci i nie dało się korzystać z wielu "dużych" stron jak i popularnych silników.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 15:56 |