使用远程身份验证的服务器上的CSRF故障(清除cookie时有效)

时间:2016-05-23 13:57:55

标签: django cookies nginx csrf django-csrf

我正在使用Django的RemoteUserMiddleware来验证一个网站中的用户。它一直很好,直到第二天。当我尝试使用POST方法做任何事情时(即使在Django的管理页面中),它给我一个403错误。

我清除了cookie,它又开始工作了。

我的浏览器和服务器之间有一个防火墙,它将标头发送到服务器(因此Django可以知道谁登录了。)

Django的版本:1.9.6 我在我的服务器中使用NGINX

当错误发生时,django每次都会更改csrftoken。当缓存未被清除时,它似乎正在获取匿名用户......

有什么想法会导致这种奇怪的行为吗?

1 个答案:

答案 0 :(得分:0)

这是因为系统注入了一个无效的cookie。只要存在无效的cookie,Django就无法正常处理...它会擦除元标记中的一些键(检查cookie的位置)