mkubus
12.10.2007, 19:50:07
Witam,
Czy ktoś może orientuje się jaka jest różnica w przyjmowaniu ciastek przez w/w przeglądarki (Firefox, Opera). Sytuacja wygląda tak iż w Operze dostaje ciasto z session id a w firefoksie ów ciastka nie ma. Z góry dziękuję za propozycje włączania track_vars or sth.. Id sesji _muszę_ mieć zapisane w ciastku. Sesja startowana jest automatycznie za pomocą session.auto_start ( tego tez nie moge zmienić ), track_vars jest wyłączone, lifetime ciastka 0, Garbage Collector jest ustawiony dobrze... Dziwne dla mnie jest to że jeśli ustawie sobie ręcznie jakieś ciastko z ów domeny to działa bez problemu tak samo w FF jak i w operze.
P.S. W tym konkretnym przypadku jest to virtual host zdefiniowany lokalnie w apache'u i host dopisany do c:\windows\system32\drivers\etc\hosts ( 127.0.0.1 testowy-host) i ciasto ustawione jest dla takiej właśnie domeny.
Pozdrawiam
Marcin
naox
20.10.2007, 14:28:45
Te ciastka powstające przy utworzeniu sesji to nie są takie zwykłe ciastka i przeglądarki nie zgłaszają ich jako normalne ciastka. Zawierają one wyłącznie klucz sesji (PHPSESSID) który jest przekazywany w zapytaniu POST lub GET w zależności od tego gdzie nastąpiło uruchomienie sesji np
post ciało
Set-Cookie: PHPSESSID=8ee975gd66fd6976fb74ba61d12fef5f; path=/
lub
get nagłówek
Cookie: PHPSESSID=8ee9756e66gf6976fb74ba61d12fef5f
lub get urlencode z formularza...
Gdzie szukasz tych ciastek? Bo najpewnien ich po prostu nie znajdziesz w formacie tekstowym, bo przeglądarka ma sobie je w pamieci do zamkniecia przeglądarki lub usuniecia sesji.
Poszperaj packetsnifferem smsniff + winpcap a zobaczysz jak przeglądarki otrzymują klucz sesji.
Nie napisałeś w sumie czy coś nie działa, tylko to że nie masz ciastka sesji co o niczym jeszcze nie swiadczy.