![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 15.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam problem z sesją php, na której opiera się moja witryna. Podczas logowania do serwisu, zdarza się (losowo), że użytkownik zostaje zalogowany na cudze konto. Przebieg procesu: 1. Odebranie danych z $_POST-a 2. Porównanie z bazą danych i ewentualne (w przypadku sukcesu), wyciągnięcie klucza dla rekordu usera z b.d. 3. Zapisanie klucza do tablicy $_SESSION. 4. Przerzucenie header()-em na stronę główną. No i na stronie głównej okazuje się, że zalogowany jestem jako ktoś inny!! Odrzucam, przez możliwie najróżniejsze próby sprawdzenia, i jako takie zaufanie do mySQL, błędne wyciągnięcie klucza z b.d. Zakładam, że po przerzuceniu funkcją header(), na stronę główną dostaję cudzy - aktualnie używany - identyfikator sesji. Uwagi dodatkowe: 1. header ma jako argument Location adres względny, żeby nie mieszać przechodzenia przez domeny. 2. W serwisie panuje ruch około 30 tyś wejść dziennie i problem (prawdopodobnie) nasila się przy wzmożonym ruchu. 3. Mam tylko kilka takich zgłoszeń dziennie, ale jeśli ktoś dostanie się na cudze konto - może bardzo namieszać. 4. Środowisko pracy: php 4.3.9 i mySQL 4.1.10, Linux pozdrawiam wszystkich |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 04:05 |