Flask怎么设置Session的过期时间

小晨酱_1234

小晨酱_1234

2026-09-22

201人浏览

原创

flask中session过期需同时设置session.permanent=true和permanent_session_lifetime为timedelta对象,否则仍为临时会话;2.3+版本不再接受整数秒配置,且默认cookie-based session无法主动销毁,长期控制应改用redis等服务端方案。

flask怎么设置session的过期时间

Session过期时间由 PERMANENT_SESSION_LIFETIMEsession.permanent 共同控制

Flask 默认的 session 是“临时会话”,浏览器关闭即失效,不走过期时间逻辑。真要设过期时间,必须显式标记为 permanent,并配置生命周期——只改一个没用。

  • app.config['PERMANENT_SESSION_LIFETIME'] 设的是 timedelta 对象(比如 timedelta(minutes=30)),不是秒或字符串
  • 必须在每次写 session 前或后调用 session.permanent = True,否则配置被忽略
  • 如果用的是默认的 SecureCookieSessionInterface(即没换 session backend),过期时间最终写进 Cookie 的 ExpiresMax-Age 字段,受浏览器限制

设置 30 分钟过期的典型写法

常见错误是只配了 PERMANENT_SESSION_LIFETIME 却忘了设 permanent,结果 session 依然随浏览器关闭消失。

from flask import Flask, session
from datetime import timedelta
<p>app = Flask(<strong>name</strong>)
app.secret_key = 'your-secret-key'</p><h1>必须配置为 timedelta 对象</h1><p>app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(minutes=30)</p><div class="aritcle_card flexRow artxards">
											<div class="artcardd flexRow">
												<a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill4246" title="Session Cleaner"><img
														src="https://img.php.cn/upload/skill/000/000/081/178997406270626.jpg" alt="Session Cleaner" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
												<div class="aritcle_card_info flexColumn">
													<a rel="nofollow" href="/xiazai/skill4246" title="Session Cleaner" class="overflowclass">Session Cleaner</a>
													<p class="overflowclass">清理过期OpenClaw会话文件,保留当前主会话和所有群组会话,其余移至备份目录。</p>
												</div>
												<a rel="nofollow" href="/xiazai/skill4246" title="Session Cleaner" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
												</a>
											</div>
										</div><p>@app.route('/login')
def login():
session['user_id'] = 123
session.permanent = True  # 关键:这行不能漏
return 'logged in'</p>

注意 Flask 2.3+ 的变更:PERMANENT_SESSION_LIFETIME 类型更严格

Flask 2.3 起,该配置项不再接受整数秒(如 1800),只认 timedelta。传错类型会静默失败或抛 TypeError,但 session 表现仍像临时会话。

  • 错误写法:app.config['PERMANENT_SESSION_LIFETIME'] = 1800
  • 正确写法:app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(seconds=1800)timedelta(minutes=30)
  • 调试建议:在视图里打印 session.get('_permanent', False)app.config.get('PERMANENT_SESSION_LIFETIME') 确认是否生效

真正需要长期/服务端控制过期?别用默认 Session

基于 Cookie 的 session 天然受限:无法主动销毁、时间精度依赖客户端时钟、不防篡改。如果业务要求“用户登出后所有设备立即失效”或“管理员踢人”,必须换方案。

  • 推荐用 Redis + Flask-Session:把 session 存服务端,过期由 Redis TTL 控制,可主动删 key
  • JWT 方式需自行管理黑名单或短生命周期 + refresh token,和 Flask 原生 session 机制无关
  • 哪怕只改 SESSION_COOKIE_MAX_AGE,也只是影响 Cookie 字段,不改变 Flask 内部的 permanent 判断逻辑

实际部署时,session.permanent = True 这行最容易被遗忘,而且没有运行时报错,只能靠测 Cookie 的 Max-Age 值或抓包验证。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
flask框架如何搭建
flask框架如何搭建

搭建步骤:1、安装Python和Pip;2、创建虚拟环境;3、安装Flask;4、创建Flask应用;5、运行应用;6、访问应用。想了解更多flask框架的相关内容,可以阅读本专题下面的文章。

2024.06.27

2855

8

Python Flask框架
Python Flask框架

本专题专注于 Python 轻量级 Web 框架 Flask 的学习与实战,内容涵盖路由与视图、模板渲染、表单处理、数据库集成、用户认证以及RESTful API 开发。通过博客系统、任务管理工具与微服务接口等项目实战,帮助学员掌握 Flask 在快速构建小型到中型 Web 应用中的核心技能。

2025.08.25

4224

10

Python Flask Web框架与API开发
Python Flask Web框架与API开发

本专题系统介绍 Python Flask Web框架的基础与进阶应用,包括Flask路由、请求与响应、模板渲染、表单处理、安全性加固、数据库集成(SQLAlchemy)、以及使用Flask构建 RESTful API 服务。通过多个实战项目,帮助学习者掌握使用 Flask 开发高效、可扩展的 Web 应用与 API。

2025.12.15

256

16

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

2026.09.21

20

20

NumPy随机数文件读写与dtype数据类型
NumPy随机数文件读写与dtype数据类型

本专题整理 NumPy 随机数、文件读写与 dtype 数据类型相关教程,覆盖 Generator/random、随机数种子、正态分布采样、npy/npz/CSV/TXT 保存读取、loadtxt/savetxt、memmap、大文件处理、astype 类型转换、结构化 dtype、整数溢出和精度丢失等场景。

2026.09.21

0

24

NumPy矩阵运算与线性代数计算
NumPy矩阵运算与线性代数计算

本专题整理 NumPy 矩阵运算与线性代数计算相关教程,覆盖矩阵乘法、dot 与 @ 运算符、逆矩阵、行列式、特征值与特征向量、SVD、线性方程组、欧氏距离、矩阵分解和大规模矩阵性能优化等内容,帮助读者掌握 np.linalg 与矩阵计算实战。

2026.09.21

0

20

NumPy广播机制数学运算与统计分析
NumPy广播机制数学运算与统计分析

本专题整理 NumPy 广播机制、数组数学运算与统计分析相关教程,覆盖广播规则、维度对齐、矩阵与数组加减除法、向量化计算、均值方差、分位数、中位数、直方图和 unique 频次统计等场景,帮助读者掌握 ndarray 高效计算与统计处理方法。

2026.09.21

0

17

NumPy数组创建索引切片与数据选择
NumPy数组创建索引切片与数据选择

本专题整理 NumPy 数组创建、索引、切片与数据选择相关教程,覆盖 np.array、zeros/ones、多维数组形状、基础切片、花式索引、布尔索引、条件筛选、视图与副本等常用场景,帮助读者系统掌握 ndarray 数据构造与高效提取方法。

2026.09.21

0

12

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

40

13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Flask-Migrate数据库迁移文档
Flask-Migrate数据库迁移文档

共0课时 | 0人学习

Flask官方快速入门文档
Flask官方快速入门文档

共0课时 | 0人学习