![]() |
![]() |
![]()
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: 304 Pomógł: 0 Dołączył: 12.12.2006 Skąd: Pszów Ostrzeżenie: (0%) ![]() ![]() |
no dobra ale mam teraz problem natury logicznej....
skoro w Cookie będzie przechowywany jakiś hash (tylko nie hash Id sesji itp) ale jakiś inny losowy ciąg np transformacja daty+ nazwa usera + coś tam jeszcze.... no to jeśli ktoś skradnie cookies to ma pełen dostęp do sesji. Jeśli wprowadzić sprawdzanie IP, zdenerwuje to masę userów, jak wiadomo spora część ma neo....Jeśli w zamian zastosować user_agent to też dość łatwo można takie coś obejść bo jak wiadomo większość userów ma przeważnie najnowsze wersje swoich przeglądarek (nie wliczając w to userów IE ^^) ja można to jeszcze poprawić? Załóżmy że sesja ma być podtrzymywana jeśli jest z tego samego komputera (albo bardzo podobnego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) Chce tak skonfigurować dane sesji żeby tylko powołane osoby miały do niej dostęp, niestety jak wiadomo sprawdzanie IP odpada... no i jeszcze jedno. jak sprawdzacie później w skryptach czy ktoś jest zarejestrowany? Ja mam teraz na zasadzie jeśli istnieje $_SESSION[user] i $_SESSION[user_level] to zalogowany w innym wypadku nie. Oczywiście wszystkie zmienne sesji są unsetowane przed session_destroy tak dla pewności. Myślicie że tak może być? Ten post edytował Avatarus 6.02.2008, 11:19:02 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 18:27 |