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


Posted in Python onJune 07, 2016

引子
如果遇到了 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#\\')
Python 相关文章推荐
python访问纯真IP数据库的代码
May 19 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
Feb 19 Python
python3音乐播放器简单实现代码
Apr 20 Python
python合并同类型excel表格的方法
Apr 01 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
Python拆分大型CSV文件代码实例
Oct 07 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
Jan 08 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
Feb 18 Python
Python xlwings插入Excel图片的实现方法
Feb 26 Python
解决Django transaction进行事务管理踩过的坑
Apr 24 Python
教你利用Selenium+python自动化来解决pip使用异常
May 20 Python
如何用Python搭建gRPC服务
Jun 30 Python
Python的Flask框架中配置多个子域名的方法讲解
Jun 07 #Python
python3批量删除豆瓣分组下的好友的实现代码
Jun 07 #Python
python实现多线程的方式及多条命令并发执行
Jun 07 #Python
python多线程方式执行多个bat代码
Jun 07 #Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 #Python
python监控文件或目录变化
Jun 07 #Python
浅析Python中的多条件排序实现
Jun 07 #Python
You might like
php微信公众号开发之欢迎老朋友
2018/10/20 PHP
cument.execCommand()用法深入理解
2012/12/04 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
jQuery功能函数详解
2015/02/01 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
详解JavaScript对象序列化
2016/01/19 Javascript
快速掌握Node.js事件驱动模型
2016/03/21 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
2016/04/01 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
JavaScript实现汉字转换为拼音的库文件示例
2016/12/22 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
解决angularjs service中依赖注入$scope报错的问题
2018/10/02 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
javascript实现搜索筛选功能实例代码
2020/11/12 Javascript
python复制文件到指定目录的实例
2018/04/27 Python
numpy数组广播的机制
2019/07/12 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
基于python实现微信好友数据分析(简单)
2020/02/16 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
伦敦著名的运动鞋综合商店:Footpatrol
2019/03/25 全球购物
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
大学生学习十八届五中全会精神心得体会
2016/01/05 职场文书
教师学习中国梦心得体会
2016/01/05 职场文书
python实现简易自习室座位预约系统
2021/06/30 Python
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server