![]() |
![]() |
![]()
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%) ![]() ![]() |
Po pierwsze dałem przykład i poprosiłem Cię o wskazanie korzyści w bezpieczeństwie na korzyść COOKIE w tym konkretnym przykładzie. Nie dałeś.
Po drugie nie twierdzę że sprawdzanie referera jest receptą na bezpieczną sesję. Po trzecie cała nasza dyskusja zaczęła się od mojej opinii że stwierdzenie NIGDY jest nad wyrost. Sam nigdy nie dopuściłem przekazywania id w sesji, ale potrafię sobie wyobrazić kiedy bez obaw mógłbym na to zezwolić. Skoro robisz audyty bezpieczeństwa to chyba wiesz że złamać da się wszystko, tylko kwestia czy atak nie jest droższy od wartości zdobytej informacji. Dlatego myślę że można by powiedzieć zamiast NIGDY, np "staraj się unikać, jeśli nie rozumiesz zagrożeń z tym związanych lub nie ma szczególnych powodów do zezwolenia na to". Bo tak jakiś nowicjusz przeczyta to i zawsze będzie miał w głowie, że tak nie można bo mu stronę shaczą, nie rozumiejąc jak i dlaczego. I to wszystko co miałem do powiedzenia w temacie. O zagrożeniach można by tu było sypnąć autorowi wiele lektur, ale on tylko pytał czy da się zmienić zawartość sesji, a ja o uzasadnienie poprosiłem kolegę reptile_rex sądząc, że być może ja o czymś nie pomyślałem, a nie po to żeby wywoływać burzę w szklance wody i czytać o przeprowadzoncyh audytach bezpieczeństwa (choć warto mieć w świadomości, że są tacy którzy przeprowadzają je nie posiadając stosownych umów :]). Podsumowując proponuję zdrowy rozsądek, bo po co wdrażać zebrane do kupy pomysły wszystkich forumowiczów dla strony która dla zalogowanych wyświetla dowcip dnia. Osoby biorące udział w tej dyskusji pozdrawiam serdecznie. (Raczej nie będę kontynuował wypowiadania się w tym wątku bo zrobił się straszny offtop i zbędne bicie piany.) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 16:55 |