详解Python的Flask框架中生成SECRET_KEY密钥的方法
作者:digwtx 发布时间:2023-03-07 13:46:07
标签: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)
'\xca\x0c\x86\x04\x98@\x02b\x1b7\x8c\x88]\x1b\xd7"+\xe6px@\xc3#\\'
把这个值复制粘贴到你的代码,你就搞定了密钥。
设置方法:
app = Flask(__name__)
app.config['SECRET_KEY'] = '\xca\x0c\x86\x04\x98@\x02b\x1b7\x8c\x88]\x1b\xd7"+\xe6px@\xc3#\\'
# or
app.secret_key = '\xca\x0c\x86\x04\x98@\x02b\x1b7\x8c\x88]\x1b\xd7"+\xe6px@\xc3#\\'
# or
app.config.update(SECRET_KEY='\xca\x0c\x86\x04\x98@\x02b\x1b7\x8c\x88]\x1b\xd7"+\xe6px@\xc3#\\')
0
投稿
猜你喜欢
- 如下所示:#随机数的使用import random #导入randomrandom.randint(0,9)#制定随机数0到9i=rando
- 下载golint下载golang 的 lint,下载地址:https://github.com/golang/lintmkdir -p $G
- Macromedia Dreamweaver MX 2004提供了更多功能强劲的可视化设计工具、应用开
- 【简介】django-admin.py是Django的一个用于管理任务的命令行工具。本文将描述它的大概用法。另外,在每一个Django pr
- Numpy中提供了concatenate,append, stack类(包括hsatck、vstack、dstack、row_stack、c
- pyc 文件的触发上一篇文章我们介绍了字节码,当时提到,py 文件在执行的时候会先被编译成 PyCodeObject 对象,并且该对象还会被
- 今天早上早些时候,在我的Planet Python源中,我读到了一篇有趣的文章"开发CARDIAC:纸板计算机(Developin
- 前言使用Python中的自带库math、自带函数pow和自带库cmath来对数字进行开根号运算方法一使用:math.sqrt(数字)impo
- 一. XSL入门1.XSL---XML的样式表 HTML网页使用预先确定的标识(tags),这就是说所有的标记都有明确的含义,例如<p
- 本文实例为大家分享了python实现学生管理系统的具体代码,供大家参考,具体内容如下一.面向过程版import osstu_list = [
- 将解压文件放置C盘配置环境变量 Patch:C:\mysql-5.7.25-winx64\bin;安装mysql切换到bin目录 cd C:
- 在一些不多的数据下载和生成的时候,我们倾向于直接保存为文件,当我们修改某些参数后再一次运行时,之前运行时生成的文件就被覆盖了。为了解决这个问
- 今天早上起来写爬虫,基本框架已经搭好,添加多线程爬取功能时,发现出错:比如在下载文件的url列表中加入200个url,开启50个线程。我的爬
- 传染源: 野生动物,可能为中华菊头蝠病毒: 新型冠状病毒 2019-nCoV传播途径: 经呼吸道飞沫传播,亦可
- MySQL默认编码是latin1,因业务需要把它转到UTF8。1、导出数据导出表结构 mysqldump -d dataname >
- 在图像处理以及图像特效中,经常会用到一种成高斯分布的蒙版,蒙版可以用来做图像融合,将不同内容的两张图像结合蒙版,可以营造不同的艺术效果。这里
- 本文实例为大家分享了JS实现长图上下滚动的具体代码,供大家参考,具体内容如下案例描述将一张长图放在某一固定长宽的盒子里,当鼠标置于盒子的上半
- 如果我们想对一个表的每一行做出比较复杂的操作,大多会想到用游标,本文中,我们将换一种思路,用SQL Server 2005中的新函数ROW_
- Json To Dictimport jsonjsonData = '{"a":1,"b":
- 如果遇到与文件许可有关的问题,可能数启动mysqld时UMASK环境变量设置得不正确。例如,当你创建表时,MySQL可能会发出下述错误消息: