![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 304 Pomógł: 0 Dołączył: 12.12.2006 Skąd: Pszów Ostrzeżenie: (0%) ![]() ![]() |
Witam
Stworzyłem prymitywny system logowania opartego na razie tylko o sesje (bez tabel i cookies). Działa ona tak: na początku każdego pliku który wyświetla stronę (np index.php, news.php, artykul.php) mam funkcje session_start() Potem jest logowanie. Ściąga dane z formularza (login i hasło), potem jest zapytanie SQL, jeśli znajdzie takiego usera w bazie to ustawia zmienne sesyjne:
Przy wylogowywaniu jest robione session_destroy() Czy takie coś jest bezpieczne? Chyba nie. Można przecież jakoś ukraść sesje. Jak byście wy napisali sprawniejszy (i co ważniejsze) BEZPIECZNIEJSZY system sesji. Z góry dziękuje na pomoc, naprawdę mi zależy na tym Pozdrawiam. Ten post edytował Avatarus 5.02.2008, 12:33:16 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 206 Pomógł: 21 Dołączył: 1.09.2006 Skąd: Edinburgh Ostrzeżenie: (0%) ![]() ![]() |
Osobiscie dane sesji trzymam w bazie danych i ciagle je porownuje z tym, co sie dzieje na stronie. Konstruktor klasy sesji odpala zapytanie do bazy sprawdzajace, czy wszystko gra. W cookie trzymane jest tylko ID sesji. Istnieje drugie ciastko, ktore odpowiedzialne jest za przekazywanie serializowanych danych sesji. Jako parametrow zgodnosci sesji uzywam ID sesji, IP uzytkownika, ID uzytkownika, przegladarka i czas sesji (kontrola stanu bezczynnosci). Ciastko sesji przechowuje jedynie hashowane ID uzytkownika. W zasadzie baza danych robi reszte. Nie bede rozwodzil sie nad struktura autoryzacji, ktora jest dosc skomplikowana. System przetestowany zostal na kilkudziesieciu serwisach, wiele z ktorych ciesza sie duza popularnoscia i jak dotad nie bylo zadnych problemow, rowniez z wydajnoscia.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 18:26 |