flask获取cookie,flask session cookie

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: