详解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插入排序算法实例分析
Jul 03 Python
在Django的form中使用CSS进行设计的方法
Jul 18 Python
python3实现ftp服务功能(客户端)
Mar 24 Python
python基础之入门必看操作
Jul 26 Python
python在线编译器的简单原理及简单实现代码
Feb 02 Python
Python 装饰器实现DRY(不重复代码)原则
Mar 05 Python
python的turtle库使用详解
May 10 Python
python多进程读图提取特征存npy
May 21 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
Oct 09 Python
使用python-pptx包批量修改ppt格式的实现
Feb 14 Python
接口自动化多层嵌套json数据处理代码实例
Nov 20 Python
Python+OpenCV实现在图像上绘制矩形
Mar 21 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实例分享之html转为rtf格式
2014/06/02 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
PHP判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
PHP获取路径和目录的方法总结【必看篇】
2017/03/04 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
广告显示判断
2006/08/31 Javascript
XHTML-Strict 内允许出现的标签
2006/12/11 Javascript
JavaScript 继承详解(一)
2009/07/13 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
2013/10/24 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
jQuery实现背景弹性滚动的导航效果
2016/06/01 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
详解.vue文件中监听input输入事件(oninput)
2017/09/19 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
Seajs源码详解分析
2019/04/02 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
Python中IPYTHON入门实例
2015/05/11 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
Java Web开发过程中登陆模块的验证码的实现方式总结
2016/05/25 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
Django之模板层的实现代码
2019/09/09 Python
巴西宠物商店:Cobasi
2019/04/19 全球购物
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
四种会话跟踪技术
2015/05/20 面试题
车队司机个人自我鉴定
2014/04/17 职场文书
竞选演讲稿范文大全
2014/05/12 职场文书
租房安全协议书
2014/08/20 职场文书
七年级地理教学计划
2015/01/22 职场文书
2015年会计人员工作总结
2015/05/22 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书