2010-03-11 12 views
7

bien por alguna extraña razón IE me da un error InvalidAuthenticityToken casi cada vez que se utiliza una consulta POST. Parece ser que a IE no le gustan los caracteres "/" y "=" que a veces se encuentran en authenticity_token. Entonces, me pregunté si alguien realmente había encontrado una solución a esto.Ruby on Rails Token de autenticidad no válido cuando se usa IE

Más extraño es que ningún otro navegador parece comportarse de esa manera.

Gracias de antemano.

+1

la versión de IE? – shingara

+0

Lo he intentado solo con IE8, no tengo ninguna otra versión por ahí. –

+1

Parece que no ocurre al crear una consulta AJAX –

Respuesta

12

El mismo problema aquí con una aplicación de rieles lanzado en un iframe consigo:

"el cambio que quería fue rechazada"

En registro:

ActionController :: InvalidAuthenticityToken

Parece que el problema ocurre en IE cuando se desarrolla en una situación de iframe donde la página maestra se encuentra en un dominio diferente al de la página interna. (es: aplicaciones iframed de Facebook)

Esto se debe a que la configuración de privacidad "media" predeterminada de IE tiene un problema con las cookies en esa situación.

Una posible solución es establecer una cabecera P3P (tratar de Google: p3p iframe Internet Explorer) ejemplo, en application_controller.rb:

before_filter :set_p3p 

def set_p3p 
    response.headers["P3P"]='CP="CAO PSA OUR"' 
end 

Funciona en mi caso.

Saludos

Referencia: http://duanesbrain.blogspot.com/2007/11/facebook-ie-and-iframes.html

+1

sí, parece funcionar Ni siquiera pensé que el marco podría ser un problema –

+1

pregunta si esto resuelve el problema para Safari también. Mismo problema con iframes y cookies. –

Cuestiones relacionadas