Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 3 Dołączył: 30.07.2009 Ostrzeżenie: (0%)
|
Witam,
na wstepie chcial bym zauwazyc ze piszac nowy temat dreczy mnie mysl ze 'taki temat byl juz 100razy' i zaraz ktos sie do mnie doczepi - to chyba troche chore ze na forum nie mozna sie w spokoju wypowiedziec, z drugiej strony rozumiem moderatorow. W kazdym razie jak pisze to znaczy ze szukalem i nie znalazlem. Problem: Powiedzmy ze mamy 2 aplikacje, odpalamy obie, w kazdej z nich inicjowane sa zmienne sesyjne, niektore o takich samych nazwach (np. $SESSION['user_login'], lub cokolwiek innego), juz w trakcie uzytkowania abu aplikacji w tym samym czasie, zauwazylem ze w obu aplikacjach wyswietlajac zmienne sesyjne mamy dokladnie taka sama tablice, z reguly z danymi aplikacji ktora uruchomilismy jako ostatnia, czyli mowiac potocznie wyglada to tak jakby sesja zainicjowana w aplikacji 2 nadpisala sesji w aplikacji 1. Czy to jest mozliwe? W manualu PHP, czesc dot. sesji nie ma takich informacji, lub sa niewystarczajace. Czy jest to zwiazane z ustawieniami w php.ini (plik z danymi sesji) ? Co ciekawe pomimo wyswietlania w aplikacji 1 zmiennych z aplikacji 2, aplikacja 1 dziala poprawnie (musi korzystac z wlasnych zmiennych). Jesli jest to tylko kwestia wyswietlania ostatnio zarejestrowanych zmiennych, to luz (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Glowny problem: W wyniku powyzszego problemu, w momencie wylogowania sie z aplikacji 2, rowniez uzytkownik zostaje wylogowany z aplikacji 1... a dokladnie zmienne przechowujace info o logowaniu danego uzytkownika musza byc niszczone. Ciezko mi dokladnie zdiagnozowac problem, wylogowanie polega na zniszczeniu sesji:
Ustawienia php.ini: session.cookie_httponly: Onsession.cookie_lifetime: 0session.cookie_path: /session.name: PHPSESSIDsession.use_cookies: Onsession.use_only_cookies: Off" title="Zobacz w manualu PHP" target="_manual w aplikacji (z koniecznosci) ustawiam naglowki:
Tak to wyglada, testuje na localhoscie, PHP 5.2.9-2, Apache 2.2 pod Windows XP sp3 Pierwszym i najprostrzym chyab rozwiazaniem bylo by w jednej z aplikacji dodanie przedrostka do wszystkich zmiennych sesji w danej aplikacji (np 'ap1-nazwa_zmiennej'). Wtedy nawet jesli obie sesje sie nakladaja, to itak zmienne sie nie nadpisza, pozostaje jednak problem niszczenia sesji... nalezalo by przejrzec sesje i usunac wszystkie zmienne z danym przedrostkiem. Wydaje sie to dosc malo optymalnym rozwiazaniem... Problem moze sie tez wiazac z blednie wygenerowanym ID sesji (jest on generowany domyslnie, nic nie bylo zmieniane). W momencie wyswietlania nazwy sesji funkcja session_name() w obu aplikacjach wyswietlane jest PHPSESSID. Czytalem o session_regenerate_id() itd. ale nie jestem pewien czy to dobra droga... Caly czas badam ten problem, wykluczam niektore opcje, podejrzewam jednak ze nie mam wystarczajacej wiedzy na temat Sesji w PHP... dlatego zwracam sie z prosba o zidentyfikowanie problemu, sam caly czas czytam o sesjach i szukam rozwiazania. Jesli ten problem byl juz jednak omawiany wystarczy link do tematu :] Z gory dziekuje za wszelka pomoc Pozdrawiam Ten post edytował iwosz 30.07.2009, 12:11:47 |
|
|
|
iwosz [PHP]Konflikty, nadpisywanie i bezpieczenstwo Sesji 30.07.2009, 11:08:49
wookieb Dziwisz się? Tak działa przecież se... 30.07.2009, 11:13:34
iwosz hmm, no ok rozumiem, ale np jak odpale aplikacje w... 30.07.2009, 11:31:57 
fifi209 Cytat(iwosz @ 30.07.2009, 11:31:57 ) ... 30.07.2009, 11:34:19 
iwosz Cytat(fifi209 @ 30.07.2009, 12:34:19 ... 30.07.2009, 11:38:55 
fifi209 Cytat(iwosz @ 30.07.2009, 11:38:55 ) ... 30.07.2009, 11:42:43
wookieb ID jakim się reprezentujesz jest zapisywane w cias... 30.07.2009, 11:35:08
wookieb Przekazywanie id ciasteczka w adresie URL (niepole... 30.07.2009, 11:42:32 
iwosz Cytat(wookieb @ 30.07.2009, 12:42:32 ... 30.07.2009, 11:49:56
wookieb Tak jak kolega wyzej napisał. Napisz session_handl... 30.07.2009, 11:55:40
Sokrates A ja bym zaproponował w każdej aplikacji przed wyw... 14.08.2009, 13:22:42
iwosz Cytat(Sokrates @ 14.08.2009, 13:22:42... 27.11.2009, 11:06:20 ![]() ![]() |
|
Aktualny czas: 21.12.2025 - 14:06 |