Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sesje, jedna sesja - wiele subdomen w obrebie domeny
GrayHat
post
Post #1





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

Ostrzeżenie: (0%)
-----


Witam.
Mam taki problem.
Chcę założyć sesję z jednej subdomeny i chcę aby była widoczna w obrębie całej domeny, więc lecimy z .htaccess:

Kod
php_value session.cookie_domain '.local'


i to powinno wystarczyć.
Ale jednak nie...
Ciacho do sesji ustawiane jest na domene xxx.local czyli subdomenę, z której otwierałem sesję... A powinno na .local....
session_get_cookie_params pokazuje mi dobrze, że powinno ustawić na .local...

W czym jest problem??


--------------------
*Note: No animals were killed durning the construction of this post.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Kocurro
post
Post #2





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Domena nie może być "local" poczytaj o ciastkach - domena musi składać się z minimum dwóch części czyli poprawną domeną jest już "local.pl" i dla niej będzie działać.

pozdr.
Go to the top of the page
+Quote Post
webdice
post
Post #3


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Spróbuj

  1. <?php
  2. ini_set("session.cookie_domain", ".domain.pl");
  3. ?>
Go to the top of the page
+Quote Post
GrayHat
post
Post #4





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

Ostrzeżenie: (0%)
-----


@Kocurro: solved winksmiley.jpg thx


--------------------
*Note: No animals were killed durning the construction of this post.
Go to the top of the page
+Quote Post
Kocurro
post
Post #5





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


GrayHat - nie ma problemu smile.gif Sam się z tym kiedyś męczyłem tydzień czasu ;p (a stoi jak wół napisane w dokumentacji ciastek biggrin.gif).
Go to the top of the page
+Quote Post
GrayHat
post
Post #6





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

Ostrzeżenie: (0%)
-----


Jeszcze jedno pytanie.
Okazało się, że muszę utrzymać sesję w obrębie dwóch domen głównych (serwisA.local i serwisB.local).
Jakieś koncepcje?


--------------------
*Note: No animals were killed durning the construction of this post.
Go to the top of the page
+Quote Post
Kocurro
post
Post #7





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Najprościej poprzez obrazek transparent 1x1 crossujący. Czyli na stronie serwisA dajesz obrazek pochodzący z serwisB, jako src podajesz np.

http://serwisB.local/sess.php?sid=345243a532345

Skrypt sess.php zapisuje ciasteczko dla serwisA oraz zwraca przeźroczysty obrazek. W bazie zapisujesz informacje o tym dla których serwisów ciastko jest ustawione ( ten sposób jak zobaczysz, ze już jest ustawione dla crosowanego serwisu nie będziesz musiał wstawiać obrazka).

To taka ogólna koncepcja - dokładniejszą opiszę dzisiaj wieczorem i dam jako artykuł u mnie na stronce. Mam nadzieję, że chociaż trochę pomogę tym wyjaśnieniem smile.gif

Takie działania wychodzą najlepiej jak sesje przechowujesz w bazie wtedy możesz dać dwa różne indeksy, każdy dla innego serwisu i łatwo rozpoznajesz czy dla danego serwisu już ustawiono czy jeszcze nie biggrin.gif

pozdrawiam,
Łukasz
Go to the top of the page
+Quote Post
GrayHat
post
Post #8





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

Ostrzeżenie: (0%)
-----


@Kocurro: koncepcja taka średnia. nie chcę ingerować zbytnio w serwisy zależne od matki... pozatym serwisA jest tym samym co serwisB (ten sam kod tylko inna domena)


--------------------
*Note: No animals were killed durning the construction of this post.
Go to the top of the page
+Quote Post
Kocurro
post
Post #9





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Inny sposób to zabawa ajaxem ... ale sprowadza się do tego samego.

Abyś mógł w domenie serwisB ustawić ciastko musisz wywołać skrypt pod tą domeną.

Można także bawić się redirectami - po zalogowaniu redirecty w kółeczku po wszystkich serwisach by ustawić ciastka. Ale to może nie być zbyt dobry pomysł.

Ewentualnie ustawianie ciastka dopiero kiedy wejdziesz na stronę serwisu ... ale to też jest rozwiązanie podobne ...

Nie spotkałem się z lepszą koncepcją i podejrzewam, że raczej się nie spotkam.

Jakbyś znalazł lepsze rozwiązanie będe wdzięczny za informację.

pozdrawiam,
Łukasz
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 09:12