![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Zastanawiam się nad bezpieczeństwem skryptów opartych o php-owskie sesje oraz bazę MySQL. Załóżmy, że przy logowaniu, wyszukuję w bazie czy istnieje user o podanym haśle i nicku. Jeśli istnieje to tworzę sesję. No i właśnie... Do sesji nie powinno się przypisywać żadnych haseł/nicków, ale czy można przypisać ID danego usera? Co jeśli przypiszę sesję tak:
gdzie $user_id to np. 1, czyli admin? Czy to jest 100% bezpieczne rozwiązanie? No bo jeśli w jakiś sposób dałoby się zmienić zawartość sesji i ktoś przypisze sobie do swojej sesji 1 to automatycznie jest na koncie admina i robi co chce. Pytanie czy tak się da? No i druga sprawa - dostęp do Panelu Admina (PA). Czy wystarczy, jeśli do PA będę wpuszczał osoby, które w bazie mają przypisane user_level (pole tinyint(1) default 0) == 1 ? Teoretycznie nikt sobie nie zmieni sam tej wartości bo musiałby mieć dostęp do bazy, a jesli już miałby dostęp do bazy to może wszystko, wiec czy taka alternatywa wytarczy, czy raczej trzeba dorzucić jakieś oddzielne logowania, cuda wianki? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 37 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Chodziło mi o prosty przykład strony o charkterze płatnym, wyświetlającej nawet jakiś stayczny html z treścią, nie wiem np nowelizacje ustaw. Większym zagrożeniem nieutoryzowanego dostępu będzie przekazywanie loginu niż to że ktoś będzie łamał sesję żeby oszczędzić złotówkę. Ja prowadząc taki szukałbym możliwości włączenia trans_id, żeby umożliwić dostęp większej ilości osób (nawet jeśli byłaby to 5 osób schylałbym się po to, zwłaszcza że się zrobiła nagonka na "CIASTECZKA" śledzące, wchodzą nowe regulacje prawne i pewnie ludzie zaczynają się zastanwiać na akceptowniem ciasteczek). Jeżeli chodzi o przekazanie linka to zawsze można wkleić komuś po prostu goły tekst i wyjdzie na to samo. W prostym zakresie zawsze można niskim nakładem zdecydowanie ograniczyć użyteczność przekazanego id. Do tego zawsze można odejść od sesji PHP i obsługiwać sesję po swojemu wg id w url-u, a wtedy zawsze można skomplikować bardziej kwestię nieautoryzowanego wykorzystania identyfikatora. W sumie napisanie własnych sesji nie jest jakąś czasochłonną magią, choć ze względów bezpieczeństwa nie polecałbym tego rozwiązania raczkującym w temacie bezpieczeństwa skryptów (IMG:style_emoticons/default/smile.gif) .
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 12:05 |