Witam,

zacząłem pisać klasę do własnej obsługi sesji (wykorzystam handlera), ponieważ ta wbudowana w php nie wystarcza mi. Nie raz czytałem, że sesje w php nie są zbyt bezpieczne. W bazie m.in. będę przechowywał SID i czas ostatniej wizyty. Zacząłem się jednak zastanawiać nad bezpieczeństwem. Do tej pory pisałem tak aplikacje, że jeśli ktoś miał wyłączoną obsługę ciasteczek to i tak aplikacje działały (we wszystkich linkach przekazywałem SID).

Co się stanie jeśli ktoś wykradnie ciasteczko albo podglądnie SID w urlu?
Wiem, że musiałby wykorzystać tego SIDa w momencie gdy prawidłowy user jest zalogowany, ale jest to całkiem możliwe. Czytałem też, że przechowywanie SIDa w bazie chroni przed tego typu kradzieżami. Ale to nie prawda. Co z tego, że przechowuje SIDa w bazie skoro i tak trzeba go jakoś przekazywać. Przecież trzeba jakoś pobrać zmienne sesyjne z bazy.. Jak zweryfikować o który rekord z bazy chodzi jeśli nie po SID zapisanym w bazie?? Więc własna obsługa sesji nie zwiększa bezpieczeństwa a jedynie daje większe możliwość (zliczanie osób zalogowanych, itp).

Co o tym sądzicie?