Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 16.12.2012 Ostrzeżenie: (0%)
|
Witam.
Od jakiegoś czasu zagłębiam się w tajniki zabezpieczania stron i piszę od podstaw mały CMS. Czytałem na temat kradzieży sesji i jakie niesie to za sobą konsekwencje, więc postanowiłem pogłowić się nad rozwiązaniami tego problemu i mimo poszukiwań - brak prostych, skutecznych rozwiązań. Z tego co rozumiem, generowanie nowego id sesji nie daje nic - zmienne przechowywane w poprzedniej sesji wciąż istnieją na serwerze i posiadają te same dane a wykradnięcie tej starej sesji dalej jest możliwe. W dodatku za każdym razem tworzy się nowy plik sesji na serwerze a przy tysiącach użytkowników strony może dać to tysiące nowych plików co parę sekund (nie mierzę w takie liczby, to tylko przykład). Napisałem niewielki kod, który w efekcie końcowych zmienia sam identyfikator sesji za każdym razem, i usuwać poprzedniki:
Do tymczasowej tablicy ładuję zmienne z tablicy sesji, usuwam sesje, tworzę nową o innym id, i przypisuję sesji zmienne i wartości znajdujące się tablicy tymczasowej. Zaiste to tylko kawałek kodu, zamierzam obudować go w klasę i dodać do tego coś w rodzaju sprawdzania czy użytkownik sesji wciąż użytkuje z tego samego systemu i przeglądarki (przypisywanie ip odpada bo ponoć nie sprawdza się w sieciach osiedlowych). Czy takie rozwiązanie ma sens i czy nie obciąża tym znacznie serwera? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 16.12.2012 Ostrzeżenie: (0%)
|
Owszem, session_regenerate_id(true) nadaje nowy identyfikator sesji, jednak wcześniejsza sesja dalej istnieje i znajdują się w niej dane te same, co w nowej sesji. Stara sesja nie jest automatycznie usuwana, a w przypadku jej kradzieży można korzystać z danych w niej zawartych.'
Oczywiście jeżeli sesje o których mowa znajdują się w folderze /tmp serwera... Ten post edytował Mephis 15.10.2014, 22:17:20 |
|
|
|
Mephis Zmiana id sesji i usunięcie poprzedniej 14.10.2014, 23:12:32
nospor Totalnie bez sensu.... PRzeciez o to:
session_rege... 15.10.2014, 06:16:08
nospor http://pl1.php.net/session_regenerate_id
Cytatdele... 16.10.2014, 06:53:52 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 16:54 |