flask获取cookie,flask session cookie
本文介绍了flask框架中的cookie和session。Session是保存在服务器端的数据结构,用于跟踪用户的状态。这些数据可以保存在集群、数据库和文件中。Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现会话的一种方式。
WEB - cookie session
因为HTTP是一种无状态协议,当服务器需要记录用户的状态时,需要使用某种机制来识别具体的用户,而这种机制就是Session。典型的场景比如购物车,当你点击下单按钮的时候,因为HTTP是无状态的,你不知道是哪个用户在操作它,所以服务器需要为特定的用户创建一个特定的会话,用来识别这个用户,跟踪这个用户,从而知道购物车里有多少本书。该会话存储在服务器中,具有唯一的标识符。
服务器如何识别特定的客户?这就是曲奇出现时间。每次HTTP请求时,客户端都会向服务器发送相应的Cookie信息。实际上,大多数应用程序使用Cookies来跟踪会话。当第一次创建会话时,服务器将在HTTP协议中告诉客户机需要在cookie中记录一个会话ID。以后,每次我请求发送这个会话ID到服务器,我就知道你是谁了。
其实Cookie也可以用在一些用户友好的场景中。想象一下,你已经登录了一个网站,下次登录时不想再输入你的帐户。我该怎么办?这些信息可以写入Cookie。访问网站时,网站页面上的脚本可以读取这些信息,自动为你填写用户名,可以方便用户。这也是Cookie name的由来,给用户一点甜头。
flask中的session和cookie
flask中的会话机制是将敏感数据加密,放入会话,然后将会话存储到cookie中。在下一个请求中,直接从浏览器发送的cookie中获取会话,然后解密数据。
这节省了服务开销,因为所有数据都存储在客户端。
你可能会担心这种做法的安全性,因为所有的数据都存储在本地浏览器中,很容易被窃取,但安全性永远是相对的,flask也有自己专门针对session的加密算法,你不必太在意安全问题。
Session操作
1.使用sessiom需要先导入session
2.SECRET_KEYfromflaskimportsession
记得设置SECRET_KEY来加密数据,如果每次启动服务器的时候你的SECRET_KEY都变了,你就不能用之前的SECRET _ KEY解密了。我们可以在这里将其设置为固定值。关于配置文件中变量的设置,前面说过,如果数据量大,会单独集成在config.py中,但如果只是几个设置,可以简单的在主文件中设置指令,也差不多。
#生成一个随机的24位字符串
app . config[ SECRET _ KEY ]=OS . urandom(24)3.session值添加
因为session和cookie都是键值对形式的字典,所以可以通过dictionary方法直接添加。
会话[用户名]=用户1 4.session值删除
#1.单一删除
session.pop(用户名)
delsession[用户名]
#2.清理所有
session . clear()5.session值获取
session.get(用户名)
会话[用户名]6.设置过期时间(如果未设置,它将在默认浏览器退出时自动结束)
#在config.py中配置会话参数PERMANENT_SESSION_LIFETIME,该值的数据类型为datetime.timedelay
app.config[永久会话生存期]=时间增量(天数=7)
Session.permanent=True#默认值为31天。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。