详解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编写生成验证码的脚本的教程
May 04 Python
Python基于递归算法实现的走迷宫问题
Aug 04 Python
Python+OpenCV目标跟踪实现基本的运动检测
Jul 10 Python
Python设计模式之装饰模式实例详解
Jan 21 Python
python+django+rest框架配置创建方法
Aug 31 Python
python如何实现单链表的反转
Feb 10 Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 Python
Keras自动下载的数据集/模型存放位置介绍
Jun 19 Python
python 爬取京东指定商品评论并进行情感分析
May 27 Python
Python实现简繁体转换
Jun 07 Python
python中24小时制转换为12小时制的方法
Jun 18 Python
python+pytest接口自动化之token关联登录的实现
Apr 06 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
使用apache模块rewrite_module (转)
2007/02/14 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
2013/06/05 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
xmlHTTP实例
2006/10/24 Javascript
用jquery来定位
2007/02/20 Javascript
JavaScript Prototype对象
2009/01/07 Javascript
js no-repeat写法 背景不重复
2009/03/18 Javascript
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
jquery-easyui关闭tab自动切换到前一个tab
2010/07/29 Javascript
让textarea自动调整大小的js代码
2011/04/12 Javascript
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
2015/02/02 Javascript
js图片模糊切换显示特效的方法
2015/02/17 Javascript
jQuery跨域问题解决方案
2015/08/03 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
2015/09/17 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
2016/07/14 Javascript
微信小程序联网请求的轮播图
2017/07/07 Javascript
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
Python之修改图片像素值的方法
2019/07/03 Python
Python类反射机制使用实例解析
2019/12/30 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
2018/01/03 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
物理系毕业生自荐信
2013/11/01 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
先进党员事迹材料
2014/12/24 职场文书
运动会新闻报道稿
2015/07/22 职场文书
Pyhton模块和包相关知识总结
2021/05/12 Python
Redis入门基础常用操作命令整理
2022/06/01 Redis