Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sesja i bezpieczeństwo logowania
Napster
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 31.05.2008

Ostrzeżenie: (0%)
-----


Stworzyłem małą stronę z systemem użytkowników. Każdy użytkownik posiada na swoim koncie dość ważne dane.

Przy logowaniu, po podaniu poprawnych danych tworzę tablicę:
  1. $user = mysql_fetch_array(mysql_query('SELECT * from users WHERE `username`='.$post_username.' LIMIT 1'));


Do tego sesję:

  1. session_register('user_id');
  2. session_register('logged');
  3. $_SESSION['user_id'] = $user['ID'];
  4. $_SESSION['logged'] = 1;


Potem na każdej podstronie potrzebuje znać nick użytkownika:

  1. $nick = $user['username'];


Czy takie rozwiązanie jest bezpieczne? A jeśli użytkownik nadpisze sobie sesję (w Firefoxie takie coś widziałem) i poda ID innego użytkownika, to zdobędzie dostęp do jego danych i konta?

Może jakieś inne, lepsze rozwiązanie logowania i sesji?
Go to the top of the page
+Quote Post
Uriziel01
post
Post #2





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Z pewnością nie nadpisze sesji gdyż nie jest ona trzymana po stronie użytkownika, może jedynie zmienić wartość ID sesji w ciastkach. Co do zabezpieczenia, można to zrobić na wiele sposobów ale jak wiadomo nic nie jest absolutnie bezpieczne, możesz przykładowo zapisać do sesji podczas logowania adres IP użytkownika i sprawdzać je później aby uchronić się przed 'Session Hijacking', Google podpowie ci pozostałe.
Tutaj też masz małe co-nieco:
http://php.pl/Wortal/Artykuly/Bezpieczenst...ssion-Hijacking

I przede wszystkim nie możesz robić autentykacji po user ID, to są ogólnie dostępne dane i łatwo je zdobyć, wszędzie używaj ID sesji.

Ten post edytował Uriziel01 16.01.2012, 14:08:05
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: 25.08.2025 - 09:19