![]() |
![]() |
![]()
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: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
1) Domyślnie sesja korzysta z Cookie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Zaczynając sesję PHP wysyła do użytkownika Cookie z numerem sesji.
2) Danych sesyjnych nie można ukraść. Znajdują się na serwerze. Chyba, że ktoś "ukradnie" komuś numer sesji, wtedy wstawia go sobie do swojego Cookie i .. jest podszyty pod obcą osobę. 3) Nie musisz hashować hasła w sesji. Jak pisałem dane są niedostępne dla klientów. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
2) Danych sesyjnych nie można ukraść. Znajdują się na serwerze. Chyba, że ktoś "ukradnie" komuś numer sesji, wtedy wstawia go sobie do swojego Cookie i .. jest podszyty pod obcą osobę. niestety można. oprócz sposobu, który sam zauważyłeś to pogooglaj sobie o innych zagrożeniach takich jak session poisoning, session exposure czy session injection. dotyczy to zwłaszcza hostingów współdzielonych. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 14:05 |