kra*_*r65 7 python cookies session flask flask-login
我正在使用很棒的Flask 框架创建一个网站,在其中我使用Flask-login进行用户登录。这通常工作正常,但有时我会看到混合登录的奇怪问题。我们有 3 个 Flask 开发服务器在一台机器上运行(在不同的端口上),并且我们在一间大约有 10 个人的办公室工作(有一个共享 IP)。问题是有时一个用户突然以另一用户身份登录。
我无法确定这种情况何时或在何种情况下发生。但我也不知道如何调试它。邪恶的根源可能是我们共享互联网连接,还是我们在一台机器上运行多个 Flask 开发服务器的问题?
我不知道我们办公室以外的人是否也会发生这种情况(我们仍处于测试阶段)。
有人可以给我一些关于如何调试这个的提示吗?
您很可能正在使用一个 Web 服务器,该服务器正在缓存来自 Flask 的(部分)HTTP 回复。这些可能包括静态媒体、生成媒体、PDF、Office 文件。
配置错误的前端 Web 服务器可能会缓存此类包含媒体和会话 cookie(Cookies标头)的 HTTP 响应。在愉快地缓存此响应后,前端 Web 服务器将其提供给另一个用户。该用户的现有会话 cookie 将被缓存的 HTTP 响应中的会话 cookie 覆盖。然后,由于会话切换,该用户成为HTTP响应被缓存的用户。
解决方案
修复您的会话中间件
在服务器端显式设置无缓存标头
配置您的前端 Web 服务器不缓存带有 cookie 的响应
更多信息请参见 Operationssecurity.org。
| 归档时间: |
|
| 查看次数: |
485 次 |
| 最近记录: |