Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Przechowywanie uprawnień, a dokładnie kwestie bezpieczeństwa
Mrozie
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 6.11.2007

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


Mam zamiar napisać własny system rejestracji/logowania wraz z blokadą dostępu do niektórych części serwisu. Wiadomo, całość polegałaby na tym, żeby skrypt sprawdzał czy dany user ma uprawnienia np. typu 1 czy typu 2.

Tu jednak nasuwa się problem: gdzie przechowywać informację o uprawnieniach usera, gdy ten przechodzi pomiędzy podstronami serwisu? Ciastka oczywiście odpadają, sesje też chyba nie są zbyt bezpieczne, więc co z tym fantem zrobić?

Wszelkie sugestie mile widziane. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam, Mrozie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Mrozie
post
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 6.11.2007

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


Poczytałem przez ostatni tydzień o sesjach, nie wiem jednak, czy dobrze wszystko pojąłem. Ostatecznie obrałem taką koncepcję:

1. Po zwalidowaniu danych wysyłanych przez formularz logowania, zapisuje w bazie danych ID sesji i nazwę hosta (która jak mniemam nie powinna się zmienić w czasie sesji).

2. Podczas przechodzenia pomiędzy podstronami wyciągam ID sesji i adres hosta i sprawdzam, czy nie zmieniły się od ostatniego czasu (to na wypadek przejęcia przez osoby trzecie ID sesji w trakcie jej trwania; gdyby te wartości były różne, wywoływane jest session_regenerate_id() ).

3. W newralgicznych miejscach, gdzie wymagane jest sprawdzanie przywilejów, oprócz hosta wyciągam z bazy danych także zahashowany id grupy, do której należy użytkownik, wg klucza WHERE = ID sesji.

4. Przy wylogowaniu pola host i sessid w bazie danych przyjmują wartość NULL.

Na razie jest to sam koncept, nie testowałem go. Jak to wygląda od strony bezpieczeństwa? Wydaje mi się, że przekazywanie ID sesji z bazy danych jest bezpieczniejsze od ciastek lub dopisywania SID-a do adresu URL, jednak wydaje mi się, że gdzieś tu musi być haczyk. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Czekam na sugestie i pozdrawiam.

Ten post edytował Mrozie 9.08.2008, 18:50:21
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 17:46