CSRF Cookie in IE
I am experiencing some off behaviour with CSRF but only in IE
browsers. Using Django 1.2.5 (final).
I have a page that has no form and no use of {% csrf_token %} but it
does make a POST request using JavaScript. I have implemented the
jQuery code to grab the CSRF cookie value for all AJAX requests. The
strange thing is that in IE browsers there is no CSRF cookie but in
all other browsers, on the same page that cookie exists. So IE
browsers get 403 for AJAX requests and other browsers work just fine.
I'm just using the django.middleware.csrf.CsrfViewMiddleware
middleware.
Here is the scenario to replicate this:
1. Visit a page that does have a form and so does have a {% csrf_token
%}
2. Move onto a page that doesn't make use of {% csrf_token %} but does
still do a JavaScript POST. The JavaScript POST will work this time
around.
3. Close the web browser down, re-open it but go directly to the web
page that doesn't use {% csrf_token %} but does make a JavaScript
POST. This will now fail as no cookie has been set for CSRF.
The documentation says the cookie is set for every request so I don't
understand this?
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home