gpt4 book ai didi

python - 使 Flask 中的旧 session 无效

转载 作者:IT老高 更新时间:2023-10-28 20:31:20 25 4
gpt4 key购买 nike

如何在 Flask 中创建一个新的干净 session 并使当前 session 无效?

我使用 make_null_session() 还是 open_session()

最佳答案

我通过调用 session.clear() 来完成此操作.

编辑:

在阅读了您在另一个答案中的评论后,我发现您正在尝试防止可能使用过去发布的 cookie 进行的重放攻击。我用这种方法尽可能地解决了这个问题:

  • 重写 SecureCookieSessionInterface.save_session(),从重写的版本中复制代码而不是调用它。
  • save_session() 的覆盖版本调用 save_cookie() 时,使其在 30 分钟后传递 session_expires 参数。这会导致超过 30 分钟的 cookie 被视为无效。
  • 使 save_session() 的覆盖版本每隔一段时间更新一个 session 变量,以确保定期重写 cookie 及其 session_expires 时间。 (我将此 session 变量命名为 '_refresh' 并将当前时间存储在其中,然后仅在自上次存储时间超过几秒后才重写它。这种优化避免了在每个 HTTP 请求上重写 cookie。)<

在自定义 save_session() 中复制 Flask 代码使这种方法有点丑陋和脆弱,但是为了更改传递给 save_cookie() 的参数是必要的.如果 Flask 可以让这变得更容易,或者至少实现它自己的保护措施来防止重放攻击,那就太好了。

*警告:这种方法本身不会阻止在 session cookie 的有效生命周期内可能发生的重放攻击。 RFC 6896 中讨论了基于 cookie session 的这个基本问题。和 A Secure Cookie Protocol by Liu, Kovacs, Huang, Gouda .

关于python - 使 Flask 中的旧 session 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13735024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com