使用 Flask Sessions,我是否需要显式创建/更改/删除 cookie?

问题描述 投票:0回答:1

我对与 Flask 会话(以下简称“会话”)相关的 cookie 感到困惑。 我确实了解会话如何依赖客户端 cookie。 我的问题是,当我们创建/更改/弹出会话变量的值时,是否会在用户浏览器上自动创建/设置 cookie,还是我还需要显式管理 cookie 来与该会话变量一起使用?

        session.permanent = True
        session["t_id_user"] = t_id_user
        # Is the following code needed?
        C = make_response("")
        cookie_expires = datetime.now() + timedelta(days=30)
        C.set_cookie("t_id_user", str(t_id_user), expires=cookie_expires)

谢谢!

flask cookies session-cookies python-3.11
1个回答
0
投票

如果您使用内置的默认 Flask 会话实现,对 Session 对象的任何修改都会自动在进行更改的请求的响应中生成 Set-Cookie 标头。

所以,你只需要这个代码:

        session.permanent = True
        session["t_id_user"] = t_id_user

其余的都是自动为您处理的。事实上更安全。如果您设置 SECRET_KEY,会话 cookie 将被签名(不是加密),这样它就不会在服务器环境之外被篡改。

© www.soinside.com 2019 - 2024. All rights reserved.