前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Flask session的默认将数据存储在cookie中的方式

Flask session的默认将数据存储在cookie中的方式

作者头像
Devops海洋的渔夫
发布于 2019-12-16 09:43:22
发布于 2019-12-16 09:43:22
4.7K00
代码可运行
举报
文章被收录于专栏:Devops专栏Devops专栏
运行总次数: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设置相关方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 导入 session 
from flask import Flask, session 

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

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

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

示例代码如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# flask的session需要用到的秘钥字符串
app.config["SECRET_KEY"] = "akjsdhkjashdkjhaksk120191101asd"
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Flask(12)- 操作 Session
Session 详解:https://www.cnblogs.com/poloyy/p/12513247.html
小菠萝测试笔记
2021/07/20
2830
小白学Flask第七天| 讲讲cookie和session的操作
cookie和session都是web开发当中老生常谈的话题,我们首先来看看Flask当中cookie是如何使用的。
Python进击者
2019/09/05
6560
小白学Flask第七天| 讲讲cookie和session的操作
flask-session组件
简介 flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多个地方,如: redis memcached filesystem mongodb sqlalchmey 安装 pip3 install flask-session 存储方式 redis #!/usr/bin/env python # -*- coding:utf-8 - import redis from flask import Flas
用户1214487
2018/01/24
1.8K0
Flask中使用cookie和sessi
Flask中使用cookie和session 设置cookie from flask import Flask,Response app = Flask(__name__) @app.route('/index') def index(): response = Response("设置cookie") response.set_cookie('username','sfencs') return response if __name__ == '__main__': a
py3study
2020/01/16
5330
web开发框架Flask学习一
flask框架 用Python做Web开发的三大框架特点 Django 主要特点是大而全,集成了很多的组件,例如:Admin Form Model等,不管你用不用的到,他都会为 你提供,通常用于大型Web应用,由于内部组件足够强大,所以使用Django可以做到一气呵成,    Django的优点是大而全,缺点也就露出来,这么多的资源一次性全部加载,肯定会造成cpu资源的浪费 flask
py3study
2020/01/19
7700
Flask中的cookie和session
详细可以参照:https://www.cnblogs.com/pythonywy/p/11594420.html
小小咸鱼YwY
2020/06/19
5480
9.Flask Cookie和Session
cookie:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前是哪个用户了。cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4kb。因此使用cookie只能存储一些小量的数据。
zhang_derek
2018/08/30
1K0
Flask 学习-63.Session 使用
前言 Session是在 cookies 的基础上实现的,并且在 cookies 中使用加密的签名。这意味着用户可以查看 cookie 的内容, 但是不能修改它,除非它知道签名的密钥。 要使用会话,你需要设置一个密钥 SECRET_KEY 配置SECRET_KEY 1.使用固定的SECRET_KEY from flask import Flask,session app = Flask(__name__) app.config['SECRET_KEY'] = 'xxxxx' # 自己设置一个 2.使用随
上海-悠悠
2022/09/14
4720
Flask 学习-63.Session 使用
Flask入门
本文参考博客:https://blog.csdn.net/xiaoyuan511?t=1 Flask是轻量级的Web开发框架,只具备基本的核心内容-->视图和路由,其他的功能都需要第三方或者自己手写
py3study
2020/01/16
4760
Flask Cookie和Session的使用
cookie 和 session 结合使用:cookie 和 session 的使用已经出现了一些非常成熟的方案。一般有两种存储方式
忆想不到的晖
2021/12/06
1K0
Flask Cookie和Session的使用
Flask之session相关
除请求对象之外,还有一个 session 对象。它允许你在不同请求间存储特定用户的信息。它是在 Cookies 的基础上实现的,并且对 Cookies 进行密钥签名要使用会话,你需要设置一个密钥。
人生不如戏
2018/08/01
4180
Flask框架重点知识总结回顾
重点掌握第1种,在工作中,我们的项目在启动的时候,需要预先设置一些配置信息,为了方便管理,便于维护,我们将所有的配置信息,封装在一个类中,然后再进行使用,下面是代码的实现过程,大家可以看一下:
小闫同学啊
2019/07/18
1.2K0
Flask框架重点知识总结回顾
盘点Python网页开发轻量级框架Flask知识(上篇)
今天来给大家说一个Python的轻量级web开发框架-------Flask,为什么要推荐它呢?当然是因为它够轻量级了,开发迅速是它的特点,当然它也有缺点,不过这里不说,因为既用它又说它差感觉不好。
Python进阶者
2021/07/02
6980
浅析Flask Session伪造
Flask的Session伪造之前并未有太多了解,在跨年夜的CatCTF中遇到了catcat这道题,因此对此类题目进行一个简单总结,lx56大师傅已经对Flask有很详细的介绍了,因此这里是站在巨人的肩膀上看世界了属于是,膜拜大佬。
用户9691112
2023/05/18
1.5K0
浅析Flask Session伪造
Flask之视图函数
如果按照正常的写法直接在视图函数上加装饰器@wrapper,则会报错,这是因为加完装饰器之后,原函数名就改变了。
人生不如戏
2018/08/01
4490
Flask Session 登录认证模块
Flask 框架提供了强大的 Session 模块组件,为 Web 应用实现用户注册与登录系统提供了方便的机制。结合 Flask-WTF 表单组件,我们能够轻松地设计出用户友好且具备美观界面的注册和登录页面,使这一功能能够直接应用到我们的项目中。本文将深入探讨如何通过 Flask 和 Flask-WTF 构建一个完整的用户注册与登录系统,以及如何对页面进行优化美化,提高用户体验。通过这一系统,用户能够方便注册账户、安全登录,并且我们能够有效管理用户的会话信息,为 Web 应用的用户管理提供一种高效的解决方案。
王瑞MVP
2023/11/27
9160
Flask Session 登录认证模块
day115-Flask的session&路由参数&实例化配置&对象配置&蓝图&特殊装饰器(中间件)
1.基于Flask的session的认证校验简单实例 1.秘钥 2.登录写进session 3.装饰器&视图校验 4.路由中定义 endpoint 参数 from flask import Flask, render_template, redirect, request, session app = Flask(__name__) # step1:给一个秘钥 app.secret_key = 'Leon \' s secret_key' @app.route('/', methods=['GET'
少年包青菜
2020/04/20
6300
Flask快速入门,知识整理
一、Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来)   Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于Flask框架提供的功能对请求进行相应的处理,并返回给用户,如果要返回给用户复杂的内容时,需要借助jinja2模板来实现对模板的处理,即:将模板和数据进行渲染,将渲染后的字符串返回给用户浏览器。 “微”(mic
用户1214487
2018/01/24
2K0
Flask快速入门,知识整理
Flask web表单 Flask-WTF表单扩展
它是HTML页面中负责数据采集的部件。表单有三个部分组成:表单标签、表单域、表单按钮。表单允许用户输入数据,负责HTML页面数据采集,通过表单将用户输入的数据提交给服务器。
Devops海洋的渔夫
2019/12/19
2.4K0
Flask Session 登录认证模块
Flask 框架提供了强大的 Session 模块组件,为 Web 应用实现用户注册与登录系统提供了方便的机制。结合 Flask-WTF 表单组件,我们能够轻松地设计出用户友好且具备美观界面的注册和登录页面,使这一功能能够直接应用到我们的项目中。本文将深入探讨如何通过 Flask 和 Flask-WTF 构建一个完整的用户注册与登录系统,以及如何对页面进行优化美化,提高用户体验。通过这一系统,用户能够方便注册账户、安全登录,并且我们能够有效管理用户的会话信息,为 Web 应用的用户管理提供一种高效的解决方案。
王瑞MVP
2023/11/28
5370
Flask Session 登录认证模块
相关推荐
Flask(12)- 操作 Session
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验