Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sesje i aliasy do stron www - problem
Forum PHP.pl > Forum > PHP
pabbito
To moj zupelnie pierwszy post na tym forum.

Mam taki problem:
zrobilem logowanie do pewnej wydzielonej czesci serwisu www oparte na sesjach. wszystko bylo dobrze, logowanie dzialalo, przy przechodzeniu do innych podstron nie gubił sesji. Ale w momencie gdy zrobilem alias do tej strony na prv.pl (z maskowaniem adresu) to pojawil sie problem: skrypt zaczął gubić sesje. Przy przechodzeniu do kolejnych podstron, automatycznie mnie wylogowuje. Doszedlem do tego, ze problem znika gdy na sztywno doklejam identyfikator sesji SID do linków.
Chciałbym jednak uniknąć tego, bo doklejanie teraz SIDa do wszystkich linkow w serwisie, a troche ich jest, to dosc mozolna praca.
Czy ktoś zna sposób jak wymusić automatyczne doklejanie SIDa do linków?
Wankster
Cytat
session.use_trans_sid określa czy będzie używana obsługa przezroczystego przekazywania identyfikatora sesji. Opcja brana pod uwagę tylko jeśli php zostało skompilowane z opcją --enable-trans-sid. Domyślnie 1 (włączona).

url_rewriter.tags określa które tagi HTML zostają przepisane w celu dopisania identyfikatora sesji jeśli włączona została opcja przezroczystego przekazywania identyfikatora sesji. Domyślnie a=href,area=href,frame=src,input=src,form=fakeentry

http://www.php.net/manual/pl/ref.session.php
pabbito
ok... a jak moge sprawdzic czy te opcje obslugi przezroczystosci zostaly u mnie ustawione?
i dlaczego zanim zastosowałem alias do adresu strony wszystko bylo w porządku?
Wankster
Jak sprawdzić? Jeżeli nie masz dostępu do php.ini to poszukaj w wyniku funkcji [manual:388451659a]phpInfo[/manual:388451659a]()...

A co do tego, że się gubi... To może przez to, że id sesji przechowywane jest w cookies strony tej prawdziwej, a szuka pod aliasem prv.pl 8O rolleyes.gif
rmn
sesja jest połączona z domena na której zsotała rozpoczęta (podobnie do cookies) więc jesli jawnie nie zmusisz sesji do kontynuacji po zmianie domeny to nie bedzie działać. Jedna z metod jest pewnie SID, a druga prawdopodbnie przez zmienna session.cookie_domain. Tutaj masz funkcje to tego:
http://www.php.net/manual/en/function.sess...okie-params.php
powodzenia:)
pabbito
dzieki za podpowiedzi. z tą zmienna session.cookie_domain to nie za bardzo kumam.

Ale dla zainteresowanych co maja podobny problem powiem, że okazało się że w przeglądarce wystarczylo zaznaczyc Narzędzia>Opcje Internetowe...>Prywatność>Zawansowane...>Zaznacz automatyczna obsługę plików cookies.
Z tego wynika, jesli dobrze rozumiem, ze poniewaz nie bylo mozliwosci przekazywania SIDa do kolejnych stron to zostalo wykorzystane przekazywanie przez cookies, ale poniewaz opcja ta nie byla zaznaczona dlatego nie dzialalo.
Troche to słabe wyjaśnienie i nie do konca o to mi chodzilo. Bo jednak wolalbym nie korzystac z cookies w tym przypadku w ogole.

A moze ktos ma pomysl w jaki sposob globalnie ustlic zeby zawsze wymuszac doklejanie SIDa do kazdego linku?
rmn
Mozesz napisac ereg_replaca. który do kazdego linka w zródle Twojej strony doklei SID.

Co do Twojego rozwiazania to bardzo kiepski pomysł, bo wszystko będzie działac tylko u Cibeie(chyba ze zmusisz kazdego uzytkownika do grzebania w confuu przegladarki;)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.