详解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版的文曲星猜数字游戏代码
Sep 02 Python
Python常用的日期时间处理方法示例
Feb 08 Python
详解Python中的join()函数的用法
Apr 07 Python
Python实现的飞速中文网小说下载脚本
Apr 23 Python
剖析Python的Tornado框架中session支持的实现代码
Aug 21 Python
如何在Python中编写并发程序
Feb 27 Python
python类的继承实例详解
Mar 30 Python
python机器学习库常用汇总
Nov 15 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
Jun 24 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
Jul 03 Python
Python(PyS60)实现简单语音整点报时
Nov 18 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 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 session应用实例 登录验证
2009/03/16 PHP
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
2014/04/05 PHP
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
PHP实现一维数组转二维数组的方法
2015/02/25 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
破解Session cookie的方法
2006/07/28 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
基于jQuery的倒计时插件代码
2011/05/07 Javascript
PHP中CURL的几个经典应用实例
2015/01/23 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
Vue.js基础学习之class与样式绑定
2017/03/20 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
nodejs acl的用户权限管理详解
2018/03/14 NodeJs
详解Express笔记之动态渲染HTML(新手入坑)
2018/12/13 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
2019/12/16 Javascript
10分钟教你用Python实现微信自动回复功能
2018/11/28 Python
基于tensorflow for循环 while循环案例
2020/06/30 Python
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
2014年公司植树节活动方案
2014/03/04 职场文书
任命书格式
2014/06/05 职场文书
温馨提示标语
2014/06/26 职场文书
仲裁协议书
2014/09/26 职场文书
审美与表现自我评价
2015/03/09 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
2015年医院科室工作总结范文
2015/05/26 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python