2013-03-22 13 views
9

Mam starą aplikację cakephp-1.2 w produkcji. Ten system ma ekran, na którym zawartość html można edytować za pomocą programu ckeditor 3.2. Problem polega na tym, że prawie za każdym razem, gdy próbuję edytować niektóre treści HTML, które zostały wylogowane podczas przesyłania formularza, zawartość nie jest zapisywana, gdy tak się dzieje.Uzyskiwanie losowego wylogowania podczas korzystania z programu cedra w wersji 1.2

Interesujące jest to, że edytuję zawartość HTML i nie wprowadzam żadnych zmian w cKeditorach, a następnie wysyłanie zgłoszeń czasami się wylogowałem i czasami działa zgodnie z oczekiwaniami.

+0

Czy aplikacja jest objęta 'https'? Nie jestem pewien z Cake1.2, ale przynajmniej z późniejszymi wersjami, w zależności od konfiguracji Sesji, możesz utracić sesję, jeśli jesteś zalogowany w 'https' i wprowadzasz niektóre żądania do' http'. Czy CKEditor wykona losowe żądania do 'http'? – nIcO

+0

@nIcO nie ma https w tej aplikacji, wszystko w http. –

+0

Brzmi bardziej jak wygasający problem z sesją? czy sprawdziłeś swoje sesje? Domyślam się, że jeśli to jest problem z CKeditorem, zdarzyłoby się to za każdym razem. Jeśli nie, spróbuj dowiedzieć się, jaka jest dokładnie różnica między czasami, w których to się dzieje. Potrzebujemy tego infromation, aby ci pomóc. Możesz również spróbować ustawić echo w swoim skrypcie pocztowym w pierwszym wierszu, aby zobaczyć, czy w ogóle wchodzi? – spons

Odpowiedz

4

ja spotkać ten sam problem przed prostu oczyścić cały kod i upewnić się, że nie było żadnych niepotrzebnych spacji lub niewykorzystane metody, takie jak debug lub php ścisłej tagu. możesz sprawdzić wszystkie swoje Model.php i usunąć wszystkie znaczniki zamykające php? Mam nadzieję, że rozwiąże to twój problem. Działa mi dobrze.

+0

Usunięto wszystkie znaczniki zamykające i białe znaki z końca pliku, nie ma metody debugowania i nadal występuje błąd. –

+3

jaka jest twoja aplikacja "Konfiguruj :: zapisuj (" Poziom zabezpieczeń "," ");" jest ustawiona na? lub ustawienia 'Configure :: write ('Session.timeout', '120');'? Czy starasz się dostosować Session.timeout na dłuższy okres czasu? – vnpnlz

+0

'Configure :: write ('Session.timeout', '1800');' i 'Configure :: write ('Security.level', 'high');'. Myślę, że limit czasu jest wystarczająco wysoki, ale dla bezpieczeństwa nie wiem. Czy powinienem to zmienić? –

0

naprawdę nie nie nic o CakePHP ale ty już starają się wypełnić te wartości na stanowisku, które powodują log off ..

["CAKEPHP"]=> 
string(26) "xxx" 
["__utma"]=> 
string(54) "xxx" 
["__utmb"]=> 
string(26) "xxx" 
["__utmc"]=> 
string(9) "xxx" 
["__utmz"]=> 
string(70) "xxx.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)" 

Ponieważ jest to jedyna różnica między 2 postach. Teraz myślę, że powiesz mi, że nie wiesz, jak je ustawić. Ale jeśli mam rację, to jest sesja, nad którą pracujesz?

Pytanie ?: A te 2 posty pochodzą z różnych stron? Jeśli tak, jaka jest różnica na tych 2 stronach? Czy włączono sesję na obu stronach?

Możliwe rozwiązanie: W każdym razie spójrz na tę stronę, która opisuje rozwiązanie problemu przekierowania. Naprawdę nie sądzę, że ma to coś wspólnego z CKEditorem. A może CKEditor zwróci wyżej wymienione dane? Również ten url mogłoby pomóc ewentualnie: Stackoverflow Topic

+0

1) Mogę ręcznie je ustawić, ale nie powinienem. Przepraszam, czy możesz ponownie sformułować swoje pytanie? 2) Oba posty pochodzą z tej samej strony, a pole, w którym jest CKEditor, to "html".Nie ustawiam ręcznie obsługi sesji w kodzie, jest ona włączona dla tej strony. –

+0

Niestety nie mogę ci pomóc, nie mam czasu na to patrzeć. ale czuje się, jakby szukał igły w stogu siana. Maby możesz spróbować zastąpić sesję manualną jako tymczasową naprawę błędów? – spons