关闭页面特效

flask之session

1|0一、flask的session


cookie:存放在客户端的键值对 session:存放在客户端的键值对 token:存放在客户端,通过算法来校验

再使用session之前必须设置一下密钥

app.secret_key="asdas" #值随便

使用session

设置:session['username'] = 'xxx' #在django中发什么三件事,1,生成一个随机的字符串 2 往数据库存 3 写入cookie返回浏览器 #在flask中他没有数据库,但session是怎样实现的? # 生成一个密钥写入这个cookie,然后下次请求的时候,通过这个cookie解密,然后赋值给session #我们通过app.session_interface来查看 ''' 1 app.session_interface 2 save_session 1. val = self.get_signing_serializer(app).dumps(dict(session)) 把session['name'] = "jason"加密,是把session整体字典做加密,得到val 2. 以配置文件的SESSION_COOKIE_NAME做为cookie的key,存cookie值 3 open_session 1. 以配置文件的SESSION_COOKIE_NAME做为cookie的key,去取cookie值,val密文 从request.cookies拿到我们密文 把session整体字典密文做解密,得到session ''' 删除:session.pop('username', None)

app.session_interface中save_session的参数(设置cookie的参数)

key, 键 value='', 值 max_age=None, 超时时间 cookie需要延续的时间(以秒为单位)如果参数是\ None`` ,这个cookie会延续到浏览器关闭为止 expires=None, 超时时间(IE requires expires, so set it if hasn't been already.) path='/', Cookie生效的路径,/ 表示根路径,特殊的:根路径的cookie可以被任何url的页面访问,浏览器只会把cookie回传给带有该路径的页面,这样可以避免将cookie传给站点中的其他的应用。 domain=None, Cookie生效的域名 你可用这个参数来构造一个跨站cookie。如, domain=".example.com"所构造的cookie对下面这些站点都是可读的:www.example.com 、 www2.example.com 和an.other.sub.domain.example.com 。如果该参数设置为 None ,cookie只能由设置它的站点读取 secure=False, 浏览器将通过HTTPS来回传cookie httponly=False 只能http协议传输,无法被JavaScript获取(不是绝对,底层抓包可以获取到也可以被覆盖)

session源码的执行流程

-save_seesion -响应的时候,把session中的值加密序列化放到了cookie中,返回到浏览器中 -open_session -请求来了,从cookie中取出值,反解,生成session对象,以后再视图函数中直接用sessoin就可以了。

__EOF__

作  者Mr. Xu
出  处https://www.cnblogs.com/XuChengNotes
关于博主:热爱生活,爱读书/旅游,喜欢技术,乐于专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   正在学习的Barry  阅读(574)  评论(0编辑  收藏  举报
编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· 从零开始开发一个 MCP Server!
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
-->
点击右上角即可分享
微信分享提示