Stronka przestała logować userów na IE

Sytuacja wygląda tak:
System działa, nie ma żadnych problemów. Nie było zmian, ani nic. Ale jakimś dziwnym cudem dzisiaj od rana restful_authentication przestało działać na IE. Na początku rzucało invalid authencity token, to testowo wyłączyłem protect_from_forgery i teoretycznie działa (bo nie zwraca błędów), ale nie chce zalogować user. Wygląda to tak jakby IE przestał zapisywać cookies. To samo dzieje się na XP + IE 7 i IE 8 i Win7.

Martin

a czy zmieniles dzisiaj domene pod ktorym jest system, albo zainstalowales system pod nowa domena?
znalazlem w internecie ze restful_authentication nie dziala jezeli w nazwie domeny jest _ (podkreslenie)

Nic nie zmieniałem, o tym podkreśleniu też słyszałem, ale nie ma go w nazwie domeny. Działa wszędzie tylko nie na IE, do wczoraj na IE też działało. To się dopiero nazywa IE HELL!!

A jakiś update gemów czy czego kolwiek w IE?

Nie? to może wyczyść wszystkie statyczne pliki, przeładuj wszystko.

Dziwna sprawa.

Żadnych updatów nie było, nikt nic nie zmianiał, po prostu z dnia na dzień przestało działać i na produkcji i na developmencie. Jakaś paranoja.

Jeśli nie działa na większości komputerów z IE to musieliście coś zmienić tylko o tym nie wiecie. Każdy z nas miał na pewno podobną sytuację i zaklinał się “przecież wczoraj działało a nic nie było zmieniane”, ale i tak potem okazywało się, że ktoś coś zmienił :). Jeśli błąd jest powtarzalny na developmencie to proponuję zobaczyć czy starsza wersja działa (jeśli pracujecie z gitem to tym lepiej - możecie zrobić bisecta). Gdyby się okazało, że starsze wersje także nie działają to problem leży gdzieś w środowisku, czyli np. gemach, paczkach systemowych. Niestety to będzie szukanie igły w stogu siana :).

ps. a może zainstalowaliście na stronie jakiś widget javascriptowy i to on coś psuje cookiesy? (nigdy się z tym nie spotkałem, ale w teorii coś takiego jest możliwe)

pierwsze pytanko… na czym leci aplikacja?
drugie pytanko… używacie gdzieś flash-a w tym logowaniu ? np… coś w stylu “przejścia” - progress bar albo cos w tym stylu?
trzecie… używacie gdzieś iframe?
czwarte… czy po logowaniu nie ma jakiegoś redirecta… z http://domena.pl do http://www.domena.pl albo cos w tym stylu

no i narazie tyle pytań :slight_smile:

edit: bug fix

edit: ie fix?

coś w ty stylu jeszcze znalazłem…

if using Internet Explorer 8 : OK with IP address in URL but KO with real URL
=> solved under Internet Explorer by changing Internet Option / Privacy/ Advanced :

  • Override automatic cookie handling checked
  • Always allow session cookies

ogólnie po wyłączeniu protect_… powinno działać

Jak 2 lata piszę w railsach to czegoś takiego jeszcze nie widziałem. Sytuacja wygląda tak, że dzisiaj już działa, bez żadnych zmian, update’ów, niczego na produkcji. Jak samo nie wiadomo skąd przestało działać tak się samo naprawiło. Wychodzi na to, że niedziela piątego jest gorsza niż piątek trzynastego :wink: Ale nie pytajcie co się stało, bo nie mam żadnej teorii spioskowej.

Ale jeszcze, żeby odpowiedzieć na pytania:

  • Nic nie było zmieniane, bisecta zrobiłem dzisiaj, tylko po to żeby się okazało, że dzisiaj już wszystkie commity śmigają.
  • W ostatnim czasie była dodana wtyczka facebookowa na iframe, ale ona jest tylko na stronie głównej, a na stronie logowania jej już nie ma, a poza tym czyściłem cookiesy i bez zmian było.
  • Aplikacja śmiga na konfiduracji nginx + unicorn
  • flash jest dopiero po zalogowaniu (standardowy railsowy, nie ma żadnych progresów)
  • przekierowanie jest, ale bez “www”
  • po wyłączenie protect_from_forgery jedyne co się zmieniło to fakt, że błędu tokena nie rzucał, ale nadal nie logował

Chyba najdziwniejszy motyw na jaki dotychczas natrafiłem.

To można w takim razie podpisać jako heisenbug

albo coś złego dzieje się na Twojej produkcji :slight_smile: czytać logi serva pozostało

Ale w developmencie też to było. I w ten sam magiczny sposób zniknęło.

może tak:

git grep "if Time.zone.now =="

:wink: