详解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处理python编码问题
Mar 13 Python
Python使用Socket(Https)Post登录百度的实现代码
May 18 Python
python执行shell获取硬件参数写入mysql的方法
Dec 29 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
May 31 Python
django model去掉unique_together报错的解决方案
Oct 18 Python
深入学习Python中的上下文管理器与else块
Aug 27 Python
用tensorflow实现弹性网络回归算法
Jan 09 Python
python字符串string的内置方法实例详解
May 14 Python
对python实现模板生成脚本的方法详解
Jan 30 Python
Python模块future用法原理详解
Jan 20 Python
python程序输出无内容的解决方式
Apr 09 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
May 22 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中获取系统信息的方法
2013/06/25 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
2015/10/15 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
2016/10/17 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
JQuery 确定css方框模型(盒模型Box Model)
2010/01/22 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
jquery特效 点击展示与隐藏全文
2015/12/09 Javascript
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
2018/06/28 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
vue+springboot图片上传和显示的示例代码
2020/02/14 Javascript
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python打印输出数组中全部元素
2018/03/13 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
Python3解释器知识点总结
2019/02/19 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
python自动识别文本编码格式代码
2019/12/26 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
2020/04/24 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
2020/06/10 Python
Python如何批量生成和调用变量
2020/11/21 Python
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
2014年实习班主任工作总结
2014/11/08 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫
golang生成并解析JSON
2022/04/14 Golang