美文网首页
14. Flask session的默认将数据存储在cookie

14. Flask session的默认将数据存储在cookie

作者: Devops海洋的渔夫 | 来源:发表于2019-12-11 20:39 被阅读0次

Flask session默认使用方式说明

一般服务的session数据是在cookie处存储session的id号,然后通过id号到后端中查询session的具体数据。
为了安全,一般session数据都是存储在后端的数据库中。
但是也有其他的存储方式,如下:

  • Flask session的默认存储方式是将整个数据加密后存储在cookie中,无后端存储
  • 将session的id存储在url中,例如:url?sid=sessionid,这是session id针对于无法存储cookie情况的做法。

那么本章节主要介绍Flask默认将session数据存储在cookie中的方式。

session设置相关方法

# 导入 session 
from flask import Flask, session 

# flask的session需要用到的秘钥字符串
app.config["SECRET_KEY"] = "akjsdhkjashdkjhaksk120191101asd"

# 设置session数据
session["name"] = "libai"

# 获取session数据
name = session.get("name")

示例代码如下

from flask import Flask, session


app = Flask(__name__)

# flask的session需要用到的秘钥字符串
app.config["SECRET_KEY"] = "akjsdhkjashdkjhaksk120191101asd"

# flask默认把session保存到了cookie中
@app.route("/login")
def login():
    # 设置session数据
    session["user_name"] = "libai"
    session["user_pwd"] = "123456"
    return "login success"

@app.route("/index")
def index():
    # 获取session数据
    user_name = session.get("user_name")
    user_pwd = session.get("user_pwd")
    return "user_name = %s, user_pwd = %s" % (user_name, user_pwd)

if __name__ == '__main__':
    app.run(debug=True)

这个示例代码设置了两个视图函数,一个login函数用来模拟用户登录,将用户名和密码存储在session中,另一个index也是获取session中的数据。

首先执行login来设置session,如下:

再访问index来获取session数据,如下:

可以看到能够成功获取到session中的数据。其中可以知道session的数据是存储在这个cookie的value中的,而为了保证一定程度的安全,所以设置了密钥进行加密。

所以,才要设置如下key,如下:

# flask的session需要用到的秘钥字符串
app.config["SECRET_KEY"] = "akjsdhkjashdkjhaksk120191101asd"

相关文章

  • Flask 登录注册

    方式一:flask默认的session/cookie使用方式 将session中的数据存储在cookie中(不安全...

  • 14. Flask session的默认将数据存储在cookie

    Flask session默认使用方式说明 一般服务的session数据是在cookie处存储session的id...

  • Flask-session中的cookie操作

    flask-session中默认的cookie操作有:提取cookie和设置cookie 提取cookie: Fl...

  • Python Web框架 Flask - Flask - ses

    使用Flask-Session进行存储,将数据保存在redis中安装Redis和session 配置Redis 模...

  • day57-Flask视图和模板

    一、session数据存储在客户端 1、session数据存储在客户端的概念Flask采用'secure cook...

  • 在memcache存储会话

    会话数据,即SESSON数据,默认存储在文件中。如果希望将SESSION数据存储在更快速的地方,更重要的是,如果网...

  • JavaScript----浏览器存储

    cookie cookie是客户端的会话跟踪技术(服务端为session) 作用: 将数据存储在浏览器中 生命周期...

  • Cookies和session(4)

    flask session 的实现是在客户端 一、session和cookie cookie 是在服务器响应的时候...

  • php session

    cookie与session的异同 cookie将数据存储在客户端,建立起用户与服务器之间的联系,通常可以解决很多...

  • flask的session机制

    flask的session机制 flask默认的是 client side session Flask by de...

网友评论

      本文标题:14. Flask session的默认将数据存储在cookie

      本文链接:https://www.haomeiwen.com/subject/ulmbbctx.html