flask 密钥-ag捕鱼王app官网

flask 密钥

作者:迹忆客 最近更新:2023/03/27 浏览次数:

这篇文章是关于 flask 中的密钥的。


在 flask 和 python 中使用不同的方式生成密钥

要访问会话 id,需要使用分配给 secret_key 变量的加密密钥,所以当时我们将 secret_key 变量的值设置为字符串是非常危险的。该密钥需要随机生成。

为什么这么重要?好吧,如果客户端试图操作会话 id 中的数据,我们希望它被服务器拒绝。

如果客户端能够以某种方式猜出密钥,那么他们就可以生成服务器不会拒绝的会话数据,你可能会猜到;这就是为什么这不是好的做法。

那么会话 id 是干什么用的呢?好吧,它存储在 cookie 中,用于链接用户以指定服务器端的数据,例如数据库中有关用户的信息。

那么问题就变成了:我们如何生成真正的随机密钥?

让我们转到 flask ;如果我们向下滚动到它说明如何生成好的密钥的部分,根据文档,你的操作系统可以根据可用于获取此类密钥的随机密码生成器生成相当随机的东西。

在遵循文档的同时,我们打开一个 python shell 并导入 os 模块,然后使用 urandom() 函数并在该函数中传递 24,以便你可以生成一个带有属性大小的链接的随机字符串我们通过了。

import os
os.urandom(24)

当我们点击 enter 或打印它时,我们得到这个键。

b'o\xe8\xc3vs\xf3\xf8\x0c\x80y\xad\xb6\x86\xb3\x7f\xee\x98l\x80\xe47\xfb]}'

此密钥不适用于你的 flask 应用程序,因此你必须从系统生成它。生成密钥后,获取该字符串,返回 flask 应用程序并将其分配给 secret_key 变量。

有几种方法可以获得密钥,我们将研究另一种生成十六进制密钥的方法。要生成此密钥,我们需要导入 uuid 模块,并从 uuid4() 函数中使用 hex 属性。

import uuid
uuid.uuid4().hex

输出:

'd5fb8c4fa8bd46638dadc4e751e0d68d'

在 flask 中,还有另一种方式是自己定义一个秘钥;要定义密钥,我们可以使用以下代码。

app.config['secret_key']='define_the_key'

在使用 flask 应用程序中的 debug 工具栏时,有必要定义一个密钥,因为如果在 flask 应用程序中定义我们的密钥,debugtoolbarextension 将无法工作。我们可以使用任何方法来定义密钥。

示例的完整源代码。

from flask import flask,render_template
from flask_debugtoolbar import debugtoolbarextension
# import os
# os.urandom(24)
# import uuid
# uuid.uuid4().hex
app = flask(__name__)
app.debug=true
# app.config['secret_key']='define_the_key'
hex_sec_key= 'd5fb8c4fa8bd46638dadc4e751e0d68d'
app.config['secret_key']=hex_sec_key
tbar=debugtoolbarextension(app)
@app.route('/', methods=['get'])
def deb_ex():
    return render_template('index.html')
if __name__=='__main__':
    app.run()

当我们运行服务器时,我们可以看到工具栏工作正常,并且在控制台中没有出现错误。

使用 flask 生成密钥

我们在模板中使用了此代码。

<html>
    <head>
        <body>
            <h2>hi user, the secret key is necessary to run the debug toolbarh2>
        body>
    head>
html>

上一篇:flask 调试模式

下一篇:flask 请求表

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:python

pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。

pandas 追加数据到 csv 中

发布时间:2024/04/24 浏览次数:352 分类:python

本教程演示了如何在追加模式下使用 to_csv()向现有的 csv 文件添加数据。

pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:python

本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。

pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:python

本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图