Flask的session使用

由于http是无状态保存的协议,session可以看作不同请求之间保存数据的一种机制。flask的session是基于cookie的会话保持。

流程

  • 当客户端进行第一次请求的时候,客户端的HTTP request到服务端,
  • 服务端的视图函数创建session
  • 请求结束时,把session的值写入响应的cookie中,并返回给浏览器,这样浏览器大的cookie中就包含了用户的色Esso排名内容
  • 用户再次请求时,客户端已经在cookie中保存了用户的数据,如用户名密码等信息。

使用

secret

在说到session使用就不得不提到secret,secret_key的本质就是一个加密盐,加密的强度取决于变量值的复杂度,可以自己定义明文为盐,也可以使用os.urandom()来生成,我简单地在网上浏览了一下,都建议使用os.random(24),当然不同程序使用不同的密钥,不是非要高密度,它会影响到数据在传输和存储时的复杂度,由于flask的特性,它把session的key存储在客户端的cookie中,通过这个key可以从flask的内存中获取用户的session信息,出于安全性考虑,使用secret_key进行加密处理。

1,设置secret_key

import os
from flask import Flask

app = Flask(__name__)
app.secret(os.urandom(24))

2,生成session

session["user"] = request.form.get('username')

3,验证session

session.get("user")    #/session["user"]也可以

猜你喜欢

转载自www.cnblogs.com/cuiyuanzhang/p/10235208.html
今日推荐