我的编程空间,编程开发者的网络收藏夹
学习永远不晚

详解Python的Flask框架中生成SECRET_KEY密钥的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

详解Python的Flask框架中生成SECRET_KEY密钥的方法

引子
如果遇到了 Must provide secret_key to use csrf错误提醒,原因就是没有设置secret_key ,在代码中加上


app.config[‘SECRET_KEY‘]=‘xxx‘

SECRET_KEY最好不要写在代码中。
最好设置一个config.py文件,从中读取该内容
config.py


CSRF_ENABLED = True
SECRET_KEY = ‘you-will-never-guess‘

app.py


app.config.from_object(‘config‘)

这样就可以防止csrf了。
嗯,接下来我们就来说说这个SECRET_KEY:

Flask生成SECRET_KEY(密钥)的一种简单方法
SECRET_KEY是Flask中比较重要的一个配置值。本文介绍一种比较简单的生成SECRET_KEY的方法。

Session, Cookies以及一些第三方扩展都会用到SECRET_KEY值,这是一个比较重要的配置值,应该尽可能设置为一个很难猜到的值,随机值更佳。

随机的问题在于很难判断什么是真随机。一个密钥应该足够随机。你的操作系统可以基于一个密码随机生成器来生成漂亮的随机值,这个值可以用来做密钥:


>>> import os
>>> os.urandom(24)
'xcax0cx86x04x98@x02bx1b7x8cx88]x1bxd7"+xe6px@xc3#\'

把这个值复制粘贴到你的代码,你就搞定了密钥。

设置方法:


app = Flask(__name__)
app.config['SECRET_KEY'] = 'xcax0cx86x04x98@x02bx1b7x8cx88]x1bxd7"+xe6px@xc3#\'
# or
app.secret_key = 'xcax0cx86x04x98@x02bx1b7x8cx88]x1bxd7"+xe6px@xc3#\'
# or
app.config.update(SECRET_KEY='xcax0cx86x04x98@x02bx1b7x8cx88]x1bxd7"+xe6px@xc3#\')

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

详解Python的Flask框架中生成SECRET_KEY密钥的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

详解Python的Flask框架中生成SECRET_KEY密钥的方法

引子 如果遇到了 Must provide secret_key to use csrf错误提醒,原因就是没有设置secret_key ,在代码中加上app.config[‘SECRET_KEY‘]=‘xxx‘SECRET_KEY最好不要写
2022-06-04

详解Python的Flask框架中的signals信号机制

Flask 提供了信号(Signals)功能,是一种消息分发机制。类似于钩子(Hooks)。使用信号功能可以降低程序的耦合,分解复杂的业务模型。例如在更新了产品数据后,可以发送一个信号。当有需要对产品数据进行处理的功能时,就可以捕获信号进行
2022-06-04

Flask框架中密码的加盐哈希加密和验证功能的用法详解

密码加密简介 密码存储的主要形式:明文存储:肉眼就可以识别,没有任何安全性。加密存储:通过一定的变换形式,使得密码原文不易被识别。密码加密的几类方式:明文转码加密:BASE64, 7BIT等,这种方式只是个障眼法,不是真正的加密。对称算法加
2022-06-04

Python的Flask框架中配置多个子域名的方法讲解

Flask子域名 一般用于数量比较少的子域名,一个模块对应一个子域名。先看下面一个例子: modules.py:from flask import Blueprintpublic = Blueprint('public', __name__
2022-06-04

python生成式的send()方法(详解)

随便在网上找了找,感觉都是讲半天讲不清楚,这里写一下。def generator():while True:receive=yield 1print('extra'+str(receive))g=generator() print(next
2022-06-04

从源码解析Python的Flask框架中request对象的用法

from flask import request Flask 是一个人气非常高的Python Web框架,笔者也拿它写过一些大大小小的项目,Flask 有一个特性我非常的喜欢,就是无论在什么地方,如果你想要获取当前的request对象,只
2022-06-04

Python的Django框架中forms表单类的使用方法详解

Form表单的功能自动生成HTML表单元素检查表单数据的合法性如果验证错误,重新显示表单(数据不会重置)数据类型转换(字符类型的数据转换成相应的Python类型)Form相关的对象包括Widget:用来渲染成HTML元素的工具,如:form
2022-06-04

Python生成随机数的方法详解(最全)

Python生成随机数的方法有很多,譬如random模块、NumPy库、secrets模块等。本文为大家整理了五个生成随机数的方法(应该是最全的了吧),希望对大家有所帮助
2023-02-07

Python中生成随机密码的常用方法小结

本文总结了Python中生成随机密码的5种常用方法:random模块:生成范围内的整数,转换为字符串。secrets模块:生成密码学安全的随机数,从序列中选择元素。string模块:组合预定义字符集生成密码。numpy模块:生成随机数组,从中选择元素。uuid模块:生成唯一通用标识符(UUID)作为随机密码。方法选择取决于密码强度要求和所需长度。random模块适用于简单密码,secrets和string模块提供更多选项,numpy模块更随机,uuid模块提供唯一密码。
Python中生成随机密码的常用方法小结
2024-04-02

详解Python的Twisted框架中reactor事件管理器的用法

铺垫 在大量的实践中,似乎我们总是通过类似的方式来使用异步编程:监听事件事件发生执行对应的回调函数回调完成(可能产生新的事件添加进监听队列)回到1,监听事件因此我们将这样的异步模式称为Reactor模式,例如在iOS开发中的Run Loop
2022-06-04

详解Python中的静态方法与类成员方法

前言 因为Python的水平目前一直是处于能用阶段,平时写的脚本使用的Python的写法也比较的简单,没有写过稍微大一点的项目。对Python中的类,类之间的组织关系,整个项目中类之间如何耦合还缺乏认识。打算读一读别人写的Python代码来
2022-06-04

Android studio中生成引用.aar和.jar的方法详解

在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件。 分别存储位置: *.jar:库 /build/intermediates/bundles/debug(release)/class
2022-06-06

解决在eclipse中将android项目生成apk并且给apk签名的实现方法详解

生成apk最懒惰的方法是:只要你运行过android项目,到工作目录的bin文件夹下就能找到与项目同名的apk文件,这种apk默认是已经使用debug用户签名的。如果想要自己给apk签名:1.签名的意义为了保证每个应用程序开发商合法ID,防
2022-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录