由于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"]也可以
Flask的session使用的更多相关文章
-
Flask的session——关于写扩展所学习到的
这两天端午节.趁着端午节没事干,写了个flask的扩展--flask-RedisSession 在flask中使用该扩展可以让你借助redis数据库轻松获得server-side session. 这 ...
-
FLASK 的Session和MoudelForm插件
falsk是小而精的框架,但是热度高, 所有很多爱好者提供了很多扩展插件 功能强大,美而不足的就是兼容稳定性有时候不太好,不过大部分还是很可以的 Flask-Session flask内置sessio ...
-
第六篇 flask中session
Flask中的Session非常的奇怪,他会将你的SessionID存放在客户端的Cookie中,使用起来也非常的奇怪 Flask 中 session 的使用 1. Flask 中 session 是 ...
-
Flask里面session的基本操作
#session是依赖于flask的session模块 #如果想使用session模块,在配置里必须定义sessionkey from flask import Flask,session #建立对象 ...
-
flask 的session
python的flask操作设置.获得与删除session 首先讲一下Python的flask中session与cookies的关系,session是储存在服务器中的,cookies是储存在浏览器本地 ...
-
Flask之session相关
Flask的session简介 除请求对象之外,还有一个 session 对象.它允许你在不同请求间存储特定用户的信息.它是在 Cookies 的基础上实现的,并且对 Cookies 进行密钥签名要使 ...
-
flask自定义session
根据内置session原理可以进行session的定制: #!/usr/bin/env python # -*- coding:utf-8 -*- import uuid import json fr ...
-
Flask 进阶session和上下文管理解析
session的源码流程 将session放置在redis中 安装 pip install flask-session 使用 import redis from flask import Flask, ...
-
Flask的session
### session:1. session的基本概念:session和cookie的作用有点类似,都是为了存储用户相关的信息.不同的是,cookie是存储在本地浏览器,session是一个思路.一个 ...
随机推荐
-
html在一个页面显示另一个页面的部分内容
老板今天让在网站上面显示实时监控画面,研究了一早,找了个简单的方法 先把监控分享在网上(我使用的海康威视摄像头,分享到萤石直播http://square.ys7.com/square/index.js ...
-
win2008主机IIS7.x 关于web.config设置301重定向
win2008主机IIS7.x 关于web.config设置301重定向 要求:windows主机是IIS7.0或以上的版本 方法如下: 在网站的根目录下新建web.config文件并将一下代码加入到 ...
-
ABBYY是怎么自定义主窗口的
启动 ABBYY FineReader OCR文字设别软件时,将打开其主窗口.同时将显示任务窗口,可以启动内置或自定义自动化任务. 主窗口显示目前打开的 ABBYY FineReader 文档. ● ...
-
Flex里的命名空间,fx、mx、s【转】
Flex 4带给我们的,是全新的命名空间.了解这些命名空间必定是一件好事情.Flex 4有三个非常重要的命名空间,分别是: xmlns:fx=”http://ns.adobe.com/mxml/200 ...
-
【Android】Android在AlertDialog使用大全
package com.ceac.deng; import android.R.string; import android.support.v7.app.ActionBarActivity; imp ...
-
Xgboost总结
从决策树.随机森林.GBDT最终到XGBoost,每个热门算法都不是孤立存在的,而是基于一系列算法的改进与优化.决策树算法简单易懂可解释性强,但是过拟合风险很大,应用场景有限:随机森林采用Baggin ...
-
GNS3的使用2
IDE值没算好,巨卡.重新安装,重新算值.速度快了不少 IDE值:选出现次数多,并且数字大的 2960的选256M 另外加了2个模拟器:ASA防火墙.juniper路由器
-
使用 MtVerify.h头文件 ,用的时候把他头文件的内容添加到项目
#include <windows.h> //windodws变量相关头文件 MtVerify.h的内容如下:#pragma comment( lib, "USER32&quo ...
-
Ansible develop module
def cnf(action,configs,path): message = "Modify %s\n" %path changed = False if action == & ...
-
HTTP协议状态码详解(HTTP Status Code)(转)
原文链接:HTTP协议状态码详解(HTTP Status Code) 使用ASP.NET/PHP/JSP 或者javascript都会用到http的不同状态,一些常见的状态码为: 200 – 服务器成 ...