flask_login有时混合登录;我和其他人一起登录了

时间:2015-10-01 10:51:12

标签: python session cookies flask flask-login

我正在使用真棒Flask framework来创建一个网站,我在其中使用Flask-login进行用户登录。这通常工作正常,但有时我看到登录混合的奇怪问题。我们在一台机器上(在不同的端口上)运行了3个烧瓶开发服务器,我们在一个约10人的办公室工作(有一个共享的IP)。问题是有时一个用户突然以另一个用户身份登录。

我无法确定何时或在何种情况下发生这种情况。但我也不知道如何调试它。邪恶的来源是我们共享互联网连接还是我们在一台机器上运行几个烧瓶开发服务器的问题?

我不知道这是否也发生在我们办公室以外的人身上(我们还处于测试阶段)。

有人可以给我一些关于如何调试它的提示吗?

1 个答案:

答案 0 :(得分:0)

很可能您使用的是从Flask缓存(部分)HTTP回复的Web服务器。这些可能包括静态媒体,生成的媒体,PDF,Office文件。

配置错误的前端Web服务器可能会缓存此类包含媒体和会话cookie(Cookies标头)的HTTP响应。在愉快地缓存此响应之后,前端Web服务器将其提供给另一个用户。此用户的现有会话cookie将被缓存的HTTP响应中的会话cookie覆盖。然后,由于会话切换,用户成为缓存HTTP响应的用户。

解决方案

  • 修复会话中间件

  • 在服务器端明确设置无缓存标头

  • 将前端Web服务器配置为不使用cookie缓存响应

Further information in operationssecurity.org