Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kohana - gubienie sesji
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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

Ten post edytował phpion.com 16.12.2007, 10:56:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Luciano
post
Post #2





Grupa: Zarejestrowani
Postów: 102
Pomógł: 1
Dołączył: 26.07.2006
Skąd: Londyn

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


Moge sie mylic ale dla mnie to wyglada na jakies zabezpieczenie apacha, ktory nie lubi znaku 00 , traktuje to jako atak i porzuca.

Ten post edytował Luciano 15.12.2007, 21:34:10


--------------------
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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.

Ten post edytował phpion.com 15.12.2007, 23:09:31
Go to the top of the page
+Quote Post
OOczy
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 24.10.2006

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


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?

Ten post edytował OOczy 12.01.2008, 20:34:04
Go to the top of the page
+Quote Post
phpion
post
Post #5





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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.
Go to the top of the page
+Quote Post
OOczy
post
Post #6





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 24.10.2006

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


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.
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: 19.08.2025 - 17:47