2011-09-16 21 views
6

Configuré CSRF como se describe en Django docs (con Django 1.3). Funciona con FF y Safari, pero en IE9 me saleError de verificación de CSRF, pero solo con IE9

<div id="summary"> 
<h1>Forbidden <span>(403)</span></h1> 
<p>CSRF verification failed. Request aborted.</p> 
</div> 

En las cabeceras de respuesta de la petición Ajax encuentro

Set-Cookie csrftoken=8db3637951243ffb591e6b2d6998ed03; expires=Fri, 14-Sep-2012 08:01:52 GMT; Max-Age=31449600; Path=/ 

funciona en IE9 cuando se utiliza en una forma normal (es decir, sin Ajax involucrado).

Estoy usando Django detrás de nginx/1.1.2.

¿Alguna pista de lo que me falta aquí?

Respuesta

3

Si su formulario se encuentra dentro de un iframe, la razón probable es la política predeterminada de IE de bloquear las cookies de terceros. Se podría

El boleto de Django #17157 propone agregar una nota sobre este tema en la documentación.

2

Tuve el mismo problema, el problema para mí fue que no especifiqué el atributo de acción de formulario. IE aparentemente no permite eso.

1

En el ticket de Django #17157 (gracias @akaihola por el enlace) se afirma que el problema es que Internet Explorer bloquea las cookies de terceros de forma predeterminada. Por lo tanto, puede habilitar las cookies de terceros para todos los sitios o solo para su sitio en la configuración del navegador. Aquí es cómo hacerlo en IE 7 (de this link):

  1. clic en el menú
  2. "Opciones de Internet"
  3. Haga clic
  4. seleccione la pestaña "Privacidad"

"Herramientas" opción 1: para habilitar las cookies de terceros para todos los sitios

  1. Haga clic en "avanzadas"
  2. Seleccione "Invalidar la administración automática de cookies"
  3. Seleccione el botón "Aceptar" en "Cookies de terceros" y haga clic en "OK"

O

Opción 2: Para habilitar las cookies de terceros sólo para Feedjit.com

  1. Haga clic en "sitios"
  2. Agregar "su-dominio.com "y haga clic en "Permitir"
  3. Haga clic en "Aceptar"
  4. Seleccione el botón "" en "Cookies de terceros Aceptar" y haga clic en "OK"
Cuestiones relacionadas