![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 29.06.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Tworze serwis, ktory ma sie skladac z kilku podserwisow, np. profil.xxx.pl (glowna strona serwisu), gry.xxx.pl, mp3.xxx.pl itp. Kazdy z tych podserwisow bedzie umieszczony na innym serwerze, ale maja miec wspolna baze danych z profilami uzytkownikow. Korzystanie ze wspolnej bazy danych z profilami mam juz zrobione, ale problem jest podczas logowania, bo podczas przechodzenia pomiedzy serwisami na kazdym z nich tworzona jest nowa sesja, a ja chce, aby ciagle byla ta sama sesja. Narazie rozwiazalem to w ten sposob, ze identyfikator sesji przekazuje w linku, czyli np. bedac w serwisie gry.xxx.pl klikajac w link profil.xxx.pl/sesja=34rh43uirh34ruih34rui43rhr34r wchodze na serwis profilu i tam sobie skryptem pobieram i tworze sesje o identyfikatorze z tego linka. Problem pojawia sie, gdy np. zaloguje sie w profil.xxx.pl i nie przejde do podstrony po linku gry.xxx.pl?sesja=3urhi34uhr3i4urh3i4rhu tylko wpisze bezposrednio gry.xxx.pl, wtedy tworzy losowa sesje. Probowalem korzystac z session.cookie_domain, ale ono moze korzystac z jednoelementowych adresow z .com, np. xxx.com, musialo by byc cos.xxx.com. Czy jest jakis inny sposob, aby logujac sie na jednym serwisie byc jednoczesnie zalogowanym na innym? Oba serwisy oczywiscie na innych serwerach :/ Dzieki za ewentualne odpowiedzi. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 29.06.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@normanos: jezeli ta funkcja, ktora podal dr_bonzo nie zadziala, to znaczy, ze nie mozesz pewnie zmieniac ustawien domeny ciastek.
Ja wczesniej wpadlem na jeszcze inny sposob: Z baza danych laczysz sie bezproblemowo z obu serwisow. W takim razie wchodzac na subdomena.domena.pl zapisujesz do bazy nowa sesje i dodatkowo hash informacji o tobie (ip, przegladarka itp.), np.
nastepnie wchodzac na domena.pl za pierwszym razem zapewne sprawdzasz, czy sesja istnieje, jesli nie, to tworzysz losowy identyfikator, tutaj wystarczy dac kolejnego if'a jesli sesja nie istnieje, to sprawdzasz w bazie, czy istnieje sesja i takim hashu jak teraz masz, jesli tak, to pobierasz jej identyfikator i tworzysz nowa sesje o pobranym ID. U mnie by to dzialalo, tylko problem byl z tym, ze czasami pozostawaly jakies smiecie z poprzednich logowan tego usera, wsrod tych smieci byly tez stare sesje tego uzytkownika (ktore by zapewne zostaly usuniete po wykonaniu gc()). Wiec problem byl z wylogowaniem, bo znajdowal stara sesje. Ten post edytował wojto 13.11.2005, 13:50:12 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 23:15 |