![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 17:46 |