Flask-Session 扩展与默认会话

2024-06-19

我在用着:

from flask import session

@app.route('/')
def main_page():
    if session.get('key'):
        print ("session exist" + session.get('key'))
    else:
        print ("could not find session")
        session['key'] = '34544646###########'
    return render_template('index.html')

我没有安装 Flask-Session 扩展,但这仍然可以正常工作。我试图理解为什么以及何时该扩展对我产生影响。据我所知,默认会话对我来说效果很好。


区别在于会话数据的存储位置。

Flask 的会话是客户端会议。您写入会话的任何数据都会写入 cookie 并发送到客户端进行存储。客户端将在每次请求时将 cookie 发送回服务器,这就是您在会话中写入的数据在后续请求中保持可用的方式。存储在 cookie 中的数据经过加密签名以防止任何篡改。这SECRET_KEY配置中的设置用于生成签名,因此只要您的密钥保密,客户端会话中的数据就是安全的。注意secure在这种情况下意味着潜在的攻击者无法修改会话中的数据。任何知道如何查看的人仍然可以看到数据,因此您永远不应该在客户端会话中写入敏感信息。

Flask-Session 和 Flask-KVSession 是 Fl​​ask 的两个扩展,它们实现服务器端会议。从应用程序的角度来看,这些会话的工作方式与 Flask 本机会话完全相同,但它们将数据存储在服务器中。数据永远不会发送到客户端,因此安全性有所提高。客户端仍然收到签名的 cookie,但 cookie 中的唯一数据是会话ID引用存储数据的服务器中的文件或数据库索引。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flask-Session 扩展与默认会话 的相关文章

随机推荐

  • 强制 IDataErrorInfo 验证

    我在某个面板上有两个控件 文本框和组合框
  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • 从排列生成器中随机选择?

    如何随机挑选所有结果 一一 不重复 itertools permutations k 或者这个 如何构建随机排列生成器 就像是shuffle permutations k 我正在使用Python 2 6 Yeah shuffle r 可以使
  • SQL 中基于下一条记录和上一条记录的复杂排序

    这是一个后续问题根据 SQL 中的下一条记录和上一条记录进行排序 https stackoverflow com questions 30477803 sorting based on next and previous records i
  • 有什么方法可以让dispatch_queue_t在单线程中工作吗?

    这是我的代码 interface MyObject property nonatomic dispatch queue t queue end implementation MyObject NSThread check id init s
  • Jquery Flipbook 上传 PDF

    我正在使用Builtbywill Flipbook div div title This is a page title img src image1 jpg div div img src image2 jpg div div title
  • 将值替换为其各自列的名称

    我有一个数据框 Code 401k CVS 101A true 231N true FD54 true 99JB 85F4 true 我试图用相应的列名称 例如 401k 替换 true 字符值 这是我想要的输出 Code 401k CVS
  • 包管理器控制台中缺少文件错误

    我们的开发团队的一些成员在打开包管理器控制台时开始看到以下错误 它完全阻止我们运行实体框架命令 我们已经检查过并且提到的文件确实存在 GetEvent types ps1xml Diagnostics Format ps1xml Diagn
  • 设置一个带有 JQuery 掩码的文本字段

    使用 watir webdriver 我尝试设置文本字段的值 browser text field id phoneNumbers value input set 5555551234 当我运行该命令时 我可以看到 watir 找到了该字段
  • 可以创建一个独立的方法/函数(没有任何类)

    我正在尝试理解闲聊 是否可以有一个独立的方法 函数 它不属于任何特定类 并且可以稍后调用 amethod amethod called printNl amethod 上面的代码给出以下错误 simpleclass st 1 expecte
  • Typescript 和 React:在组件之间传递 props 与默认 props

    我对 Typescript 和使用 Typescript 创建 React 应用程序相当陌生 我在将道具从一个组件传递到另一个组件时遇到了一些麻烦 我在下面提供了一个示例 我的问题是围绕组件的默认道具 当我在父组件中调用子组件时 出现错误
  • 如何根据特定条件触发电子邮件以在 Jenkins 中成功构建

    每当某个条件在构建后步骤的执行 shell 中成立时成功的构建 我想触发电子邮件发送 问题是 即使条件不成立 构建也会被视为success 我正在尝试实现的内容 if condition true then
  • 单击应用程序的启动图标时会发生什么?

    单击应用程序的启动图标时会发生什么 是否总是发送新意图 或者结果有时与从最近的任务恢复任务相同 如果发送意图 它何时被发送到新活动实例的 onCreate 方法以及何时通过现有活动的 onNewIntent 进行路由 假设意图通过任务中现有
  • c++链接器,如何链接iostream文件?

    我有一个名为main cpp包括iostream 我编译了main cpp它工作没有错误 所以我的问题是 我编译了main cpp我没有链接iostream with main cpp 那么这怎么可能呢 或者编译器是否链接了iostream
  • 如何在 Swift 泛型中说“同一类”

    如果 Swift 泛型类型约束是协议名称 我可以要求受该协议约束的两种类型为同一类型 例如 protocol Flier struct Bird Flier struct Insect Flier func flockTwoTogether
  • Silverlight 4 WCF Ria 服务的轮询模式

    我正在使用 Ria Services 在 Silverlight 中创建一个应用程序 一旦启动服务调用 可能会花费相当多的时间 我一直在寻找增加 WCF 服务超时的方法 但我越想越觉得这不是正确的方法 我宁愿做的是调用 DomainCont
  • 使用 R 的 flextable 包时,有没有办法将传递给 add_header_lines() 的字符串部分加粗

    我正在使用我喜欢的 flextable 包为 Word 文档创建几个表格 但是 我在将表格标题中的部分文本加粗时遇到了一些麻烦 例如 我希望标题为 Table 1 我的表格标题的其余部分 而不是 表 1 我的表格标题的其余部分 I 找到这个
  • 无法访问 res 文件夹?

    我有一个 Java 编程问题 需要帮助 我的类文件位于单独的包中 不是默认包 我正在尝试从我的 res 文件夹访问文件 我已将其添加为类文件夹 使用属性 gt 库 gt 添加类文件夹 在我的类中 我有以下代码 InputStream IS
  • 提供者未返回 ProviderManifest 实例

    当我想配置我的数据源 EntityDataSource 1 并将实体数据模型自动生成的连接字符串分配给它时 我收到错误 无法加载连接字符串中指定的元数据 请考虑重建 Web 项目以构建可能包含元数据的程序集 发生以下错误 提供程序未返回 P
  • Flask-Session 扩展与默认会话

    我在用着 from flask import session app route def main page if session get key print session exist session get key else print