Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kohana - gubienie sesji
Forum PHP.pl > Forum > PHP > Frameworki
phpion
Witam,
nie wiedziałem czy post napisać w dziale "Frameworki" jednak chyba bardziej dotyczy on serwera niż frameworka.

Otóż: używając Kohana zapisuję w sesji obiekt użytkownika (po poprawnym zalogowaniu). Na localhoście wszystko działa poprawnie, natomiast na serwerze kei.pl obiekt znika po przekierowaniu. Po prostu po zalogowaniu przekierowuję usera na inną podstronę i tam już nie jest zalogowany (obiektu w tablicy sesji nie ma). Użycie set_flash() działa poprawnie - używam do wyświetlenia komunikatu o błędzie. Dla testu zmieniłem zapamiętywanie komunikatu z set_flash() na set() - komunikat był widoczny przez kilka następnych odświeżeń strony. Pomyślałem więc: może jest problem z przechowywaniem obiektu w sesji - użyłem więc serializacji dla obiektu użytkownika. Nadal nic. Dodam jeszcze, że po samym zalogowaniu obiekt siedzi w sesji, natomiast znika po wykonaniu url::redirect().

Ma ktoś jakąś koncepcję?

Pozdrawiam: pion

// EDIT:
Od BOK kei.pl uzyskałem taką informację:
Kod
W logach znalazłem taką informacje, to powinno pomóc w rozwiązaniu problemu:

Dec 15 13:53:06 750 suhosin[7783]: ALERT - ASCII-NUL chars not allowed within
request variables - dropped variable 'kohana_session_data' (attacker
'83.4.27.
107', file
'sciezka_do_pliku')


W razie dalszych pytań pozostaję do Państwa dyspozycji.

Jednak nie wiem o co chodzi wstydnis.gif
Luciano
Moge sie mylic ale dla mnie to wyglada na jakies zabezpieczenie apacha, ktory nie lubi znaku 00 , traktuje to jako atak i porzuca.
phpion
Hmmm, możliwe. Co to za znak*? Gdzie go szukać? smile.gif no i jak znaleźć. Przejrzałem sporą część plików mogących mieć związek z tym problemem ale nic konkretnego nie namierzyłem :/
PS: pewnie wychodzi że jestem dupa ale nigdy nie spotkałem się z owym zjawiskiem.

//EDIT:
* już wiem, że to NULL http://www.columbia.edu/kermit/ascii.html no ale co z tego...

//EDIT:
Okazało się, że jest to bug w Kohana - po zmianie na standardowe session_start() itd wszystko śmiga.
OOczy
Cytat(phpion.com @ 15.12.2007, 21:57:44 ) *
//EDIT:
Okazało się, że jest to bug w Kohana - po zmianie na standardowe session_start() itd wszystko śmiga.


wlasciwie to nie jest bug kohanaPHP a mysqli - najlepiej przekonac sie o tym dodajac drugi argument do metody redirect z wartoscia 'refresh' i modyfikujac plik session (metode redirect) zamieniajac 0 na inna wartosc np 30 tak aby mozna bylo zobaczyc wyswietlony blad.

efekt: couldn't fetch mysqli ... czy cos kolo tego...

bug ten byl nawet zglaszany do php.net
http://bugs.php.net/bug.php?id=33635
wprawdzie kod inny ale chodzi o to samo

a co do tego o czym piszesz "(...) po zmianie na standardowe session_start() itd wszystko śmiga " to przybliz nieco temat bo nie bardzo rozumiem.
wyrzuciles sesje kohana?
phpion
mysqli_* nie ma tu nic do rzeczy, nie korzystałem z tego.
A co do obejścia sesji: użyłem po prostu session_start() oraz $_SESSION['cos'] = 'wartosc' zamiast wbudowanego systemu sesji.
OOczy
Cytat(phpion @ 12.01.2008, 22:13:45 ) *
mysqli_* nie ma tu nic do rzeczy, nie korzystałem z tego.
A co do obejścia sesji: użyłem po prostu session_start() oraz $_SESSION['cos'] = 'wartosc' zamiast wbudowanego systemu sesji.


a to przepraszam. Ja ten problem ktory Ty masz mam tylko i wylacznie wtedy gdy uzywam mysqli.
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.