Flask Session

Flask—Session 一、安装Flask-Session pycharm中安装 Flask-Session terminal安装 pip3 install flask-session 二、Flask-Session介绍 1. Flask-Session flask_session是flask框架实现session功能的插件,用来代替flask自带的session机制。 2. 配置参数 ... 阅读详情

目录

什么是Session

存储Session

获取Session

删除Session


什么是Session

Session也被称为会话,当用户在应用程序的Web页面之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。Session是存储在服务端上的。

存储Session

获取客户端的GET请求,将键值对存储在Session中。

下面的代码存储客户端GET请求name键值对。

import datetime
import webbrowser
from flask import Flask, session, make_response, request

app = Flask(__name__)

# 存储session
@ app.route("/write")
def write():
    # 可以设置session有效期
    session.permanent = True
    session["name"] = request.args.get("name")
    response = make_response("<h1>name has been write in session.</h1>")
    return response

# 设置session加密key
app.secret_key = "qwerasdf"

# 设置session有效时间
app.permanent_session_lifetime = datetime.timedelta(seconds=300)

if __name__ == "__main__":
    webbrowser.open("http://127.0.0.1:5000")
    app.run()

⚠️注意:write函数中的获取客户端GET请求 resquest.args.get()方法描述请点击链接:Flask 获取客户端GET请求_TCatTime的博客-优快云博客_flask get

使用make_response()创建response描述请点击链接:

创建Flask Response_TCatTime的博客-优快云博客

运行代码,在浏览器中输入  http://127.0.0.1:5000/write?name=cat,结果如下:

获取Session

存储Session后,将存储的Session读取出。

下面的代码仍以上面的例子,读取实现存储在Session中的name。

"""
征服Flask
1.6 会话Session
https://edu.youkuaiyun.com/course/play/6506/126110
"""

import datetime
import webbrowser
from flask import Flask, session, make_response, request

app = Flask(__name__)


# 获取session
@ app.route("/read")
def get_session():
    if "name" in session:
        response = make_response("<h1>name %s has been exist in session.</h1>"
                                 % session["name"])
    else:
        response = make_response("<h1>no name in session.</h1>")
    return response


# 存储session
@ app.route("/write")
def write():
    # 可以设置session有效期
    session.permanent = True
    session["name"] = request.args.get("name")
    response = make_response("<h1>name has been write in session.</h1>")
    return response



# 设置session加密key
app.secret_key = "qwerasdf"

# 设置session有效时间
app.permanent_session_lifetime = datetime.timedelta(seconds=300)

if __name__ == "__main__":
    webbrowser.open("http://127.0.0.1:5000")
    app.run()

运行代码,在浏览器中输入 http://127.0.0.1:5000/write?name=cat 后存储Session。

然后输入 http://127.0.0.1:5000/read 代码显示如下:

删除Session

在经过上面的添加读取Session过程后,Session已经存储在服务端上。如果要将Session删除,我们还是以存储过的"name"键为例,可以使用下面的代码:



import datetime
import webbrowser
from flask import Flask, session, make_response, request

app = Flask(__name__)


# 获取session
@ app.route("/read")
def get_session():
    if "name" in session:
        response = make_response("<h1>name %s has been exist in session.</h1>"
                                 % session["name"])
    else:
        response = make_response("<h1>no name in session.</h1>")
    return response


# 存储session
@ app.route("/write")
def write():
    # 可以设置session有效期
    session.permanent = True
    session["name"] = request.args.get("name")
    response = make_response("<h1>name has been write in session.</h1>")
    return response


# 删除session
@ app.route("/delete")
def delete():
    name = session.pop("name", None)
    response = make_response("<h1>Delete name %s in session success.</h1>" % name)
    return response


# 设置session加密key
app.secret_key = "qwerasdf"

# 设置session有效时间
app.permanent_session_lifetime = datetime.timedelta(seconds=300)

if __name__ == "__main__":
    webbrowser.open("http://127.0.0.1:5000")
    app.run()

运行代码,存储Session http://127.0.0.1:5000/write?name=fsp

然后输入:  http://127.0.0.1:5000/delete 

页面显示如下:

然后回到 http://127.0.0.1:5000/read  看到页面显示没有name键存入Session中。

Session删除成功。

⚠️注意事项:如果在删除Session中浏览器页面显示:Delete name None in session success. 请先清理浏览器缓存后重新执行代码。

Flask之session伪造(从某平台学习Session身份伪造) 文章目录工具介绍FLASK解密FLASK加密脚本 工具介绍 FLASK解密 不推荐网上那个,反而这个倒是挺好用 #!/usr/bin/env python3 import sys import zlib from base64 import b64decode from flask.sessions import session_json_serializer from itsdangerous import base64_decode def decryption(payload): payl 阅读详情

相关推荐

(十二)Flask重点之session

(十二)Flask重点之session

孤寒者的博客 1万+

Flask session详细用法

Flask session概念解释 session是基于cookie实现的,保存在服务端的键值对,形式为{随机字符串:‘xxxxxx’},同时在浏览器中的cookie中也会保存相同的随机字符串,用来再次请求时验证 注意:Flask中的session是保存在浏览器中的,默认的key是session(加密的cookie),当然也可以将其保存在数据库中 flask中有一个session对象,它允许你...

zhangyukun555的博客 1万+

VASP+机器学习快速收敛AIMD

本文介绍了如何利用VASP结合机器学习技术快速收敛AIMD(从头算分子动力学)模拟。首先,通过训练机器学习力场,生成关键文件如ML_ABN(包含结构数据集)、ML_FFN(存储回归结果)和ML_LOGFILE(记录训练日志)。接着,配置INCAR文件以设置计算参数,包括并行化、分子动力学和机器学习相关参数。KPOINTS文件用于定义K点网格。计算完成后,备份CONTCAR文件作为后续模拟的初始结构。最后,利用训练好的力场文件进行纯机器学习力场分子动力学模拟,并提交任务执行。

qq_44812865的博客 1406

Flask中的session

点击“添加session”按钮,服务端会创建一个:“session["test"] = this is test”的session。点击“获取session”按钮,服务端会返回session的值,前端用console.log()打印出这个值。在这里,我们创建了一个简单的前端页面,并且添加了三个按钮,方便为下面的功能做说明。在这里我们推荐使用第二种和第三种,并且定期更新密钥,防止数据泄露。点击“删除session”按钮,服务端会删除所有session。”用来再此请求的时候验证。中的字典一样,我们可以使用。

zheshiyangyang的博客 2605

动态博弈、威胁与承诺(博弈论入门学习笔记四)

0 动态博弈 动态博弈:行动有先后顺序,不同的参与人在不同时点行动,先行动者的选择影响后行动者的选择空间,后行动者可以观察到先行动者做了什么选择。例如下棋、消费者和商家讨价还价、谈婚论嫁、企业之间的价格战等等。 因此,为了做出最优的行动选择,每个参与人都应该思考:如果我如此选择,对方将如何应对?如果我是他,我将会如何行动?给定他的应对,什么是我的最优选择? 动态博弈中的战略:在博弈开始之前就...

stepho的博客 1万+

用MATLAB从零实现六足机器人步态仿真:交替三角与波动步态保姆级教程

本文详细介绍了如何使用MATLAB从零实现六足机器人的两种经典步态仿真:交替三角支撑步态和波动步态。通过参数定义、相位设置、运动轨迹生成和三维可视化等步骤,帮助读者掌握六足机器人步态规划的核心技术。教程包含完整代码和详细解析,适合机器人爱好者和相关专业学生学习实践。

weixin_26765363的博客 229

Flask中Cookie与Session用法详解

Flask中Cookie与Session用法详解

IT之一小佬的博客 2117

KANO分析模型

KANO分析模型的基本概念,目的意义,应用场景,实现方法和示例等

JasonH2021的博客 3066

【python】Flask之session使用

一、session机制 1.1 session的作用 由于http协议是一个无状态的协议,但网站基本上有登录使用的功能,这要求有状态管理,而session机制实现的就是这个功能 session基于cookie实现, 保存在服务端的键值对(形式:{随机字符串:'xxxxxx'}), 同时在浏览器中的cookie中也对应一相同的随机字符串,用来再次请求的时候验证 1.2 实现的原理 用户第一次请求后,将产生的状态信息保存在session中,可以把session当做一个容器,保存了正在使用的所有用户的状态信息,这

sysu_lluozh 8380

LDRA Testbed(TBrun)软件单元测试_实例讲解(对多次调用的函数打桩)

在之前的文章《LDRA Testbed(TBrun)软件单元测试_操作指南》中,已经讲解了如何使用TBrun进行软件单元测试的基本操作步骤。本篇文章将结合实例进一步讲解被测函数中包含多次调用其他函数时,如何对其打桩来实现测试目的(详细的操作流程本文不再重述,若有不清楚的,可以结合之前的操作指南一起来看)。本文以一个被测函数作为示例,讲解了如何使用Testbed(TBrun)对涉及到多次调用其他函数的被测函数进行单元测试。本文的示例可能比较简单,但是思路、方法和流程都是通用的,希望对大家有所帮助。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 1462

GEE土地分类:土地分类精度评定和分类后影像进行(Kmeans,Gmeans,SNIC (Simple Non-Iterative Clustering)聚类分析和滤波(focal_mode)分析

使用聚类分析和滤波分析来进一步处理土地分类后的影像数据。聚类分析可以帮助您识别影像中的相似区域。您可以使用聚类算法,如K均值聚类或层次聚类,将像素分组到具有相似像素值的群集中。这可以帮助您更好地理解图像中的空间模式和结构,并可能揭示有用的信息。滤波分析可以帮助您平滑图像并去除噪声。常见的滤波器包括中值滤波器和高斯滤波器。这些滤波器可以帮助您消除图像中的随机变化,并使其更易于解释和分析。

此星光明博客 2516

flask中session的简介

cookie和session结合使用一般有两种存储方式: 存储在服务端:通过cookie存储一个session_id,然后具体的数据则是保存在session中。如果用户已经登录,则服务器会在cookie中保存一个session_id,下次再次请求的时候,会把该session_id携带上来,服务器根据session_id在session库中获取用户的session数据。就能知道该用户到底是谁,以及...

ilovewsx的博客 2373

ABAP CDS SELECT, parameters 全面解析:把参数化视图玩明白(含可运行示例)

这篇技术博客介绍了ABAP CDS中参数化视图的用法与实践。文章从业务需求出发,解释了参数化视图的必要性,并详细说明了语法规则、参数类型匹配、视图内部参数引用等关键点。重点展示了在JOIN和ASSOCIATION中传递参数的写法,提供了航线分析的完整业务案例和可运行代码示例。文章还总结了视图实体与DDIC视图的差异、会话变量使用技巧等实践要点,特别强调了JOIN中必须显式传参的语法要求。通过真实场景演示,帮助开发者掌握参数化CDS的高效应用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 363

[python][flask]flask中session管理

Flask中的session机制用于在客户端与服务器间存储加密数据,通过Cookie实现跨请求状态保持。使用前需设置SECRET_KEY进行加密,支持字典式操作(设置/获取/删除数据),常用于用户登录状态管理。session默认随浏览器关闭失效,可通过PERMANENT_SESSION_LIFETIME设置有效期。安全注意事项包括:使用随机密钥、避免存储敏感信息、配置安全Cookie属性(HTTPS传输、禁止JS访问)。该机制为Web应用提供了安全可靠的数据持久化方案。

一名不太专业的程序员 3896

【C++项目】从零实现RPC框架「三」:项⽬抽象层实现

本文详细介绍了如何从零实现一个 C++ RPC(远程过程调用)框架,包括通信抽象、消息抽象、通信实现、以及消息分发器的实现。通过系统化的代码示例,展示了如何构建一个高效、灵活且可扩展的 RPC 框架。

You build it, you run it 2162

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Flask Session伪造

是一个专门用于Flask Session Cookie解码和编码的工具,支持Python 2和Python 3。

2302_80307588的博客 731

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Python flask中session用法

Flask session 概念: 程序可以把数据存储在用户会话中,用户会话是-种私有存储,默认情况下,它会保存在客户端cookie中。Flask提供了session 对 象来操作用户会话。session 是基于cookie实现, 保存在服务端的键值对(形式为 {随机字符串:‘xxxxxx’}), 同时在浏览器中的cookie中也对应一相同的随机字符串,用来再次请求的 时候验证; 注意 :Fl...

zhangvalue的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Flask之flask_session

flask原本的session是保存在浏览器cookie中的,这样就产生了一个很重要的问题,如果我们在session中不存敏感信息还好,如果存的是敏感信息那么信息安全是没有保障的,而flask_session可以让我们把session的值存储在redis/Memcached中。 将数据存储在redis/memcached中然后把所对应的key存放在用户的cookie中。 实现方式:   在flas...

厚积而后薄发 2375

Flask - 内置Session / 第三方Flask-Session

目录 Flask - 内置Session 基本用法 给视图添加装饰器验证 Flask - 内置Session Flask中的Session非常的奇怪,他会将你的SessionID存放在客户端的Cookie中,使用起来也非常的奇怪 基本用法 1.Flask 中 session 是需要 secret_key 的 from flask i...

weixin_30341735的博客 172

Flask-Session

Flask-Session 是一个 Flask 扩展,它允许你以更灵活和可扩展的方式管理 Flask 应用中的会话(session)。默认情况下,Flask 使用客户端的 cookie 来存储会话数据,这通常对于小型应用来说是足够的。然而,对于需要存储大量数据或需要更高级会话管理功能的应用来说,Flask-Session 提供了一个更好的选择。

Flask Web 1199

Python之Flask将session放入到redis

"""" 请求刚进来session是空的,创建一个空字典,添加到local中 核心就是存储session的对象 app.open_session -->self.session_interface( RedisSessionInterface) """ from flask import Flask, json, session from flask_session import Re...

天道酬勤 2918

Flask中的Session是如何管理的?

综上所述,Flask中的Session管理是一个涉及多个方面的复杂过程,包括Session ID的生成与存储、数据的加密与解密、存储位置的选择以及安全性的增强等。通过使用Flask提供的内置功能和扩展,开发者可以轻松地实现用户会话的跟踪和管理,并确保数据的安全性和可用性。Flask中的Session是通过一系列机制来管理的,这些机制确保了用户会话数据的安全性、持久性和可用性。

qq_43472841的博客 1099

flask之session用法

保姆级教程

qq_66129888的博客 888

flask-session 中redis的配置

import os from flask import Flask, session, request from flask_session import Session from redis import StrictRedis class Config(): #session存储格式为redis SESSION_TYPE="redis" # 设置redis的ip,p...

笨笨的博客 899

Flask操作Session

目录 配置SECRET_KEY session操作 session读取 session删除 清除session中数据 session的过期时间 配置SECRET_KEY flask的session是通过加密之后放到了cookie中,只要用到了flask的session模块就一定要配置“SECRET_KEY”这个全局宏。 app = Flask(__name__) app.con...

洪源的博客 1万+

Flask—session

一、Flask中session介绍 1. 定义 session是基于cookie实现的,保存在服务端的键值对(形式 {随机字符串:'xxxxx'}),同时在浏览器中的cookie里也对应一个相同的随机字符串,用来再次请求的时候验证; Flask中的session是存在浏览器中,默认key是session(加密的cookie),也可以像Django一样基于上述的...

HuQi 836
上一篇: Python str isalnum方法
下一篇: 矩阵相乘(Python)
TCatTime
博客等级 码龄9年 400粉丝 256原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值