Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Logowanie + sesja + baza, Czy to ma sens?
windman
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
TrevorGryffits
post
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ę;)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 20:40