Session、登录基础与表单流程
Flask Web 开发#Python全栈#第十阶段#Flask Web 开发#Session、登录基础与表单流程约 787 字 · 2 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
Flask 默认 session 数据保存在哪里?
追问 签名 Cookie 与服务端 Session 存储有什么区别?签名能防止什么,为什么不能让内容变得不可见?
SECRET_KEY 为什么影响 session 的读写?
追问 缺失、每次启动随机变化或不同工作进程配置不同,会怎样影响登录状态?如何管理并稳定加载密钥?
为什么不宜把密码、大对象和大量列表放进默认 session?
追问 可见性、Cookie 容量与每次请求开销怎样影响设计?用户 ID 等最小标识通常还需要哪些服务端核对?
修改 session 中嵌套列表或字典时,为什么可能没有保存变化?
追问 直接重新赋值与修改内部对象如何影响变更检测?何时需要明确标记 session 已修改?
普通 session 与 permanent session 怎样约定生命周期?
追问 会话期限、Cookie 过期和刷新设置怎样相互影响?为什么用户关闭页面不等于服务端或签名会话一定失效?
怎样实现最小登录流程,而不把身份判断分散到每个视图?
追问 读取输入、验证凭据、保存最小会话标识、加载当前用户与保护视图分别放在哪里?
保存与验证用户密码应采用怎样的接口和原则?
追问 Werkzeug 的密码哈希工具与明文、普通快速摘要有什么区别?登录反馈如何避免泄露内部错误和密码内容?
退出登录时调用 session.clear() 能完成什么,不能保证什么?
追问 默认签名 Cookie 被复制后,为什么清除当前浏览器会话不等于集中撤销所有副本?怎样根据业务选择更强的失效机制?
使用 Cookie 身份的表单为什么需要考虑 CSRF?
追问 Flask 核心是否自动为所有表单校验令牌?扩展或业务校验、SameSite 与请求来源检查应怎样按方案配合?
flash 消息与“提交后重定向再展示”怎样配合?
追问 怎样显示保存成功或失败提示并减少刷新导致的重复提交?为什么 flash 不适合作为前后端分离 API 的唯一错误反馈?