使用Django Admin时间歇性地获取混乱的CSRF cookie

时间:2012-08-27 15:48:16

标签: python django cookies django-admin csrf

使用Django 1.4,我不断地让CSRF cookie间歇性地加入到这样的事情中:

  

“Set-Cookie:csrftoken = \”Set-Cookie:   csrftoken = WStoUW0COc1JvURmsc0vwRgJ8uCWR5Hh \ 073 expires = Mon \ 054   26-Aug-2013 15:24:38 GMT \ 073 Max-Age = 31449600 \ 073路径= / \“”

(而不是说WStoUW0COc1JvURmsc0vwRgJ8uCWR5Hh,这是该CSRF cookie的实际值。)

我似乎在任何对象上多次重新加载“添加/编辑”页面后会发生这种情况(我没有对它们进行全部测试,但我在自定义模型和Django.auth的用户上进行了测试)。在那之后,即使我删除它,我几乎总是在下次刷新时再次获得它。

Cookie的内容非常容易让人想起this bug,但

  1. 它不完全相同,它缺少逃避
  2. 应该已经修复了
  3. Django管理员中的这个页面无论如何都没有缓存(默认情况下根据admin_view装饰器的使用添加/编辑页面)
  4. 我曾经认为DajaxICE与此有关,但它只是将问题暴露出来,因为在错误设置cookie后它会失败。如上所述,这发生在管理页面上,而这些页面上没有并且从未使用过DajaxICE内容。

    更新:这看起来更像是two threads中讨论的内容,但即使是那些需要使用TemplateResponse的视图(请检查Django Admin的添加视图),有csrf保护(检查),并使用cache_page(或者我假设至少一些形式的缓存 - 添加视图绝对没有)。

    看到使用django_annoying的ajax_request显然不关心这个cookie是乱码(并且Django Admin从未这样做过),我可以继续而不解决这个问题,但是......那是什么?!据我所知,打破这个问题所需要的只是使用网站范围的缓存和管理网站,这有点荒谬......更不用说Django管理员并不介意有一个乱码的事实

0 个答案:

没有答案