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



我使用Django的RemoteUserMiddleware对一个网站中的用户进行身份验证。直到第二天它都很好用。当我尝试使用POST方法做任何事情时(甚至在Django的管理页面中),它会给我一个403错误。

我清空了饼干,它又开始工作了。

在我的浏览器和服务器之间有一个防火墙,它将头文件发送到服务器(这样Django就可以知道谁登录了)。

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

当错误发生时,django每次都会更改csrftoken。当缓存没有被清除时,它似乎得到了一个匿名用户。。。

有没有想过是什么导致了这种奇怪的行为?

这是由于系统注入了一个无效cookie。Django在出现无效cookie时处理不好。。。它会擦除元标签(检查cookie的地方)中的一些密钥

最新更新