Strict Standards: Non-static method themeGluedIdeas_Subtle::initOptions() should not be called statically in /home/riopro/www/blog.riopro.com.br/wp-content/themes/gluedideas_subtle/header.php on line 19
Riopro Blog - » Underscore X IE7 igual a problema de InvalidAuthenticityToken

Underscore X IE7 igual a problema de InvalidAuthenticityToken



Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

O Internet Explorer 7 tem um comportamento, como posso dizer, diferenciado para o nome do sites que ele considera válido. Isso me fez perder umas 3 horas hoje. Estamos desenvolvendo uma aplicação para um cliente que tinha uma URL como http://MINHA_APP.localhost. Ao tentar testar um javaScript no IE7, não conseguia nem me logar, dava um erro de InvalidAuthenticityToken.

O arquivo estourava em request_forgery_protection.rb:86. Após muito apanhar, verificamos nos logs de desenvolvimento que o Session_Id no IE7 estava sendo modificado a cada requisição. E aí, finalmente entendemos porque mesmo comentando o protect_from_forgery, não conseguíamos nos autenticar na aplicação.

Transcrevi daqui a explicação do problema:

CAUSE:
Security patch MS01-055 prevents servers with improper name syntax from setting cookies names. Domains that use cookies must use only alphanumeric characters (”-” or “.”) in the domain name and the server name. Internet Explorer blocks cookies from a server if the server name contains other characters, such as an underscore character (”_”).

Traduzindo: a partir do IE6 o uso de caracteres não alfa-numéricos foi proibido. Ou seja, o IE aceita “-” e “.”, mas não aceita o “_” (underscore). Com isso, ele não seta um cookie para a sessão e cadas solicitação recebe um novo Id. Com isso, o Rails detecta a mudança de Id e levanta uma excessão do tipo InvalidAuthenticityToken.

Trocamos a url chamada para http://MINHAAPP.localhost e tudo passou a funcionar corretamente.

Links úteis:

http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/ASP/Q_20590538.html
http://groups.google.com/group/rubyonrails-talk/msg/05c6146712ddfc02
http://www.tek-tips.com/gviewthread.cfm/lev2/4/lev3/31/pid/333/qid/465089
http://yui-ext.com/forum/showthread.php?p=234976
http://www.eggheadcafe.com/community/aspnet/7/10041939/iis7–ie7-new-session-i.aspx

Informações e Links

Junte-se comentando, lendo o que os outros dizem ou colocando um link a partir do seu blog.


Outros Artigos

Strict Standards: Only variables should be assigned by reference in /home/riopro/www/blog.riopro.com.br/wp-includes/post.php on line 117
Screenshots com delay no Gnome do Ubuntu

Strict Standards: Only variables should be assigned by reference in /home/riopro/www/blog.riopro.com.br/wp-includes/post.php on line 117
Escolhendo um tamanho padrão para o terminal do gnome

Comente

Tire um tempo para comentar e nos dizer o que você acha. Alguns códigos HTML são permitidos para formatação.

Comentários dos Leitores

Seja o primeiro a comentar!