zoukankan      html  css  js  c++  java
  • 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_key(os.urandom(24))
    

    2,生成session

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

    3,验证session

    session.get("user")    #/session["user"]也可以
    
  • 相关阅读:
    TimeSpan的操作
    List<T>的排序和筛选
    编程中的一些概念
    SVN返回版本
    语音播报
    优化编译器的局限性
    Inline Functions 与它的形式参数和局部变量
    函数的效能 & 指向 Member Functions 的指针与其效能
    虚拟继承下 Virtual Function 的语意
    多重继承下 Virtual Function 的语意
  • 原文地址:https://www.cnblogs.com/cuiyuanzhang/p/10235208.html
Copyright © 2011-2022 走看看