Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]zapamietaj mnie w formularzu logowania
elmozaur
post
Post #1





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


Witam.

Jakis czas temu napisalem na wlasne potrzeby system logowania oparty o sesje i baze danych.
Chcialbym do tego dopisac teraz checkbox do zapamietania uzytkownika jako stale zalogowanego.

Problem niby banalny bo po poprawnym zalogowaniu wystarczy dac setcookie z id usera, ip kompa i przegladarke z ktorej sie logowal.
No ale jesli ktos wylapie takie ciastko to system lezy.
Sprawa druga to kwestia taka ze ip logujacego moze sie np zmienic i co wtedy ?

czy moge prosic o podpowiedz jak podejsc do tego tematu uwzgledniajac wspolczesne kwestie bezpieczenstwa takiego autologowania


za wszelka pomoc z gory dziekuje i pozdrawiam
Grzegorz
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Michael2318
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

Ostrzeżenie: (0%)
-----


Przy zaznaczeniu checkbox'a ładujesz do bazy temu użytkownikowi losowy ciąg znaków, najlepiej dosyć skomplikowany i długi. Do tego możesz zapisać np. jego user_agent w tym momencie i też zapisać do do bazy. Tworzysz ciasteczko z zawartością tego losowego ID i na starcie, przed samym logowaniem na strone, umieszczasz kod, ktory sprawdza czy ciasteczko (nazwijmy je sobie 'autologin') istnieje, a jeśli istnieje to sprawdzasz w bazie do jakiego usera jest to ID przypisane. Jeśli znajdziesz tego usera to sprawdzasz dodatkowo czy user_agent logującego zgadza się z tym zapisanym wcześniej w bazie. Jeśli wszystko jest OK to normalnie go logujesz i dla bezpieczeństwa możesz wygenerować nowy, losowy ciąg znaków i zaktualizować go w bazie + zmienić zawartość ciasteczka. W przypadku niepowodzenia niszczysz to ciasteczko, wiadomo.
Go to the top of the page
+Quote Post
elmozaur
post
Post #3





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


Cytat(Michael2318 @ 9.02.2013, 23:48:26 ) *
Tworzysz ciasteczko z zawartością tego losowego ID i na starcie, przed samym logowaniem na strone, umieszczasz kod, ktory sprawdza czy ciasteczko


ciastko z losowym stringiem czy ciastko z id rekordu ? (rekord zawiera user_agenta losowy string itp.)

I ostatnie pytanie bo jesli umieszcze tego typu mechanizm w pliku index.php to czy bedziemi sie to sprawdzalo przy kazdym zaladowaniem strony czy tylko podczas probu logowania ? (zakladam ze np logowanie i prosta tresc to ten sam plik)

pozdrawiam
G
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 23:52