![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 13 Dołączył: 7.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Obecnie używam bardzo prostego skryptu autoryzacji, opartego tylko na sesji. Chciałbym rozbudować skrypt (aby stał się bardzi bezpieczny ;-) i chciałbym się poradzić, czy to co planuję będzie bezpieczne. To co chcę "dobudować": a) chcę sprawdzać, czy podczas trwania sesji przypadkiem nie zmieniła się lokalizacja użytkownika b ) chę ograniczyć czas trwania sesji Rozwiązanie: ad a) Podczas logowania do bazy zapisany zostanie IP, a następnie przy każdym odświeżeniu strony sprawdzany, gdy IP będzie inny, sesja zostanie zniszczona. Czy poza IP warto jeszcze coś zapisywać? Czy to nie obciąża zbytno bazy? ad b ) do bazy zostanie zapisana data i godzina wykonania (załadowania, odświeżenia) skryptu, jeżeli przez 30 minut skrypt nie zostanie odświeżony to sesja zostanie zniszczona. Pytania: - Czy punkt a. zabezpiecza mi skrypt przed przejęciem sesji? - Do bazy będę zapisywał ID sesji i sprawdzał przy każdym odświeżeniu skryptu, czy warto także weryfikować ID sesji w cookies? - Słyszałem coś o odświeżaniu ID sesji przy każdym załadowaniu skryptu... co mi to daje? - Co podobny skrypt powinien jeszcze zawierać? Czy to co planuję ma sens? Jak już wspomniałem autoryzacją mało się zajmowałem.... proszę o uwagi, sugestie itp. Pozdrawiam Ten post edytował windman 8.09.2008, 12:52:03 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 24 Dołączył: 29.07.2007 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) ![]() ![]() |
Hmm... Mam nadzieję, że pomogę.
Primo: Ad ad a) Poza IP warto jeszcze zapisywać USER_AGENT użytkownika. Czy to zbytnio nie obciąża... W każdym razie wiele skryptów wykorzystuje ten sposób do używania sesji. Secundo: Ad 1) Na pewno zdecydowanie ją utrudnia. Z tego co wiem pełne 100% zabezpieczenie przed przejęciem sesji i/lub innymi wrogimi zamiarami wobec niej jest trudne i wymagające ingerencji w Apacha. Ad 2) Hm? ID przecież będzie się samo weryfikowało:) Skądś musisz pobrać ID sesji, żeby potem ją wyszukać w bazie. Ad 3) Załóżmy, że mamy dwóch użytkowników: A(dobry) i B(EVIL!). Użytkownik A dostaje identyfikator sesji, np. 127843265. Następnie w jakiś sposób przejmuje go B. I może go wykorzystać tylko do czasu gdy A nie przejdzie do kolejnej strony, bo wtedy A dostanie nowy identyfikator i stary przestanie być ważny. Mam nadzieję, że w miarę zrozumiale. Chyba wszystko dobrze. Mam taką nadzieję;) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 20:40 |