Autor | Zpráva | ||
---|---|---|---|
had Profil * |
#1 · Zasláno: 8. 3. 2013, 11:24:26
Ahoj,
měl bych dotaz stran session. Potřeboval bych trochu poradit, jakým způsobem nastavit server. Popíšu situaci: Jsem přihlášený na hlavní doméně, třeba www.server.cz. Chci se přihlásit na domena1.server.cz a jde to bez problémů. Stejně tak domena2.server.cz. Když se přihlašuju ale na domena3.server.cz, odmítá mi to přihlášení (kvůli cookie PHPSESSID), tedy dokud nesmažu stejnojmennou cookie ze serveru www.server.cz, nebo se tam neodhlásím. Všechny subdomény jsou nastaveny stejně, session.use_cookies = On, session.use_only_cookies = On, session.use_trans_id = 0 Netušíte, prosím, proč dochází jen u jedné subdomény ke kolizím v přihlašování a u ostatních ne? Děkuju za pomoc :-) |
||
Davex Profil |
had:
Pokud nenastavuješ působnost cookie s identifikací session na celou doménu pomocí session_set_cookie_params() (případně v php.ini - session.cookie_domain ), tak by se na každé subdoméně měla vytvořit jiná a kolidovat by neměly.
|
||
had Profil * |
#3 · Zasláno: 9. 3. 2013, 15:57:54
v phpinfo() čtu, že
session.cookie_domain = no value (na všech třech subdoménách), přesto ale u té jediné třetí kolidují session cookies... je ještě i jiné řešení problému, než tohle?
|
||
Davex Profil |
#4 · Zasláno: 9. 3. 2013, 16:14:36
V tom případě je nastavení na serveru správně a není důvod k tomu, aby prohlížeč posílal na dvě různé subdomény cookie se stejnou identifikací session. Příčina by se možná dala vysledovat z HTTP požadavků prohlížeče a z hlaviček HTTP odpovědí serveru.
|
||
had Profil * |
#5 · Zasláno: 9. 3. 2013, 16:27:21
zkusil jsem pustit wiresharka... hm...zdá se, že to posílá HTTP 302... server nedávno přecházel z apache na nginx, dá se to nějak odstranit, tenhle status kód...?
|
||
Davex Profil |
#6 · Zasláno: 9. 3. 2013, 19:07:56
had:
„zdá se, že to posílá HTTP 302“ Co ho posílá? „dá se to nějak odstranit, tenhle status kód...?“ Mělo by to jít. |
||
had Profil * |
#7 · Zasláno: 9. 3. 2013, 19:27:02
server posílá 302. omlouvám se, nenapadlo mě to, že to chybí ve větě... ;)
co tedy pro to můžu udělat, prosím? Musím kvůli tomu kontaktovat poskytovatele hostingu, nebo to spraví nějaká direktiva? Htaccess k dispozici nemám, server běží na nginxu. Díky. |
||
Davex Profil |
#8 · Zasláno: 9. 3. 2013, 20:26:46
Pokládáš příliš obecné otázky bez poskytnutí dostatku informací. Je to jako hádat budoucnost z rozsypaného čaje na druhém konci zeměkoule.
|
||
had Profil * |
#9 · Zasláno: 11. 3. 2013, 08:15:46
a jaké informace bys ještě potřeboval vědět? Sorry, ale nenapadá mě, co bych ti měl přesně o konfiguraci serveru říct, mám k dispozici akorát phpinfo() - http://tt.signaly.cz/info586.php a k jiným konfiguračním souborům přístup nemám.
Mohl bys mi, prosím, něco říct o tomhle konkrétním stavovém kódu? Něco jsem se snažil o tom zjistit na internetu, ale nikde nic moc... a na povídání o stavovém kódu přece nepotřebuješ nutně znát konfiguraci (taky umím říct něco o tom, jak to vypadá na Africe, ač jsem tam nikdy nebyl a viděl pár cestopisných dokumentů...). Ono když by se třeba povídalo (byť obecně) o příčinách vzniku toho stavového kódu, třeba by mě mohlo napadnout, jestli problém nemůže způsobit nějaký kus zdrojového kódu, že... |
||
Davex Profil |
Stavový kód 302 je dočasné přesměrování na jinou adresu a na téma o příčinách vzniku stavového kódu neumím moc pohovořit. Nějaký stavový kód odesílá webserver vždy a většinou ho lze změnit i ve skriptu odesláním jiného.
|
||
had Profil * |
#11 · Zasláno: 11. 3. 2013, 20:04:40
Ok, Davexi, moc díky za pomoc, konkrétnosti zkusím asi nejlíp odladit se správcem serveru. Můžu se teda ještě pokusit poslat jinou hlavičku natvrdo s kódem 200 a uvidíme, co to provede... tak ještě jednou díky a hezký večer! :) h.
|
||
Časová prodleva: 11 let
|
0