![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 13.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, pisałem ostatnio formularz logowania do serwisu, bazowałem na "myśli", którą padła w php-fusion.
Po prawidłowym logowaniu ustawiam cookie dla użytkownika, które wygląda w postaci: ID-USER.USER-HASH User Hash generuje się automatycznie podczas rejestracji (md5(uniqid());). Proces logowania wygląda na zasadzie: Kod - Jeśli masz ciastko (idziesz dalej): -- Rozbijam ciastko na ID, oraz Hash --- SQL sprawdzam czy istnieje taki użytkownik (z tym ID + hash) ---- Jeśli tak to jesteś zalogowany Jednak po paru chwilach miałem mieszane uczucia co do tego rozwiązania, bo przecież jeśli ktoś wygranie z komputera owe ciastko, to będzie miał dostęp do jego konta. Lub też będzie znał jego hash (oczywiście hash nigdzie nie jest wyświetlany, przetrzymywany jest w bazie) i też będzie miał dostęp. Tak więc czy ten sposób jest niebezpieczny? w jaki sposób powinien weryfikować użytkowników przy rejestracji (poza sesja) chciałbym aby auto logowanie było ON. Chciałbym dodać, że każdą wartość, $_COOKIE filtruje przez mysql_real_escape_string. Ten post edytował maly_pirat 10.08.2009, 09:32:48 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 1 Dołączył: 27.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
własna tablela USER_SESSION + $_SESSION[]
Table session: user_id user_session session_time tego tlumaczyć nie musze, a co do autologowania nie zrobisz inaczej niż na ciasteczkach chyba że oprzesz na/dodasz do tabeli: session_ip session_auto 0/1 ale w tym momencie moga byc konflikty (jesli ktos jest z sieci) lub jak ktos ma zmienne IP. co do hasła - ja mam hasowane w sposób sha1(LOGIN.':'.HASLO) + podniesienie loginu i hasla do duzych liter. Ten post edytował Unik2psc 10.08.2009, 09:54:52 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 05:55 |