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

 更新时间:2016年06月07日 16:08:19   作者:digwtx  
密钥值的生成功能十分重要,几乎也是各大Web开发框架的标配,Flask当然也不例外,这里我们就来详解Python的Flask框架中生成SECRET_KEY密钥的方法

引子
如果遇到了 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使用pika库调用rabbitmq参数使用详情

    python使用pika库调用rabbitmq参数使用详情

    这篇文章主要介绍了python使用pika库调用rabbitmq参数使用详情,文章通过展开文章主题分享了三种方式,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • 浅谈python量化 双均线策略(金叉死叉)

    浅谈python量化 双均线策略(金叉死叉)

    这篇文章主要介绍了浅谈python量化 双均线策略(金叉死叉),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 如何使用python操作vmware

    如何使用python操作vmware

    这篇文章主要介绍了如何使用python操作vmware,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Opencv求取连通区域重心实例

    Opencv求取连通区域重心实例

    这篇文章主要介绍了Opencv求取连通区域重心实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 使用Python实现数据重采样的示例代码

    使用Python实现数据重采样的示例代码

    数据重采样是一种用于调整数据集大小或分布的技术,它涉及通过增加或减少数据点的数量来修改现有数据集,下面我们就来学习一下如何利用Python实现数据重采样吧
    2023-11-11
  • python基础教程之popen函数操作其它程序的输入和输出示例

    python基础教程之popen函数操作其它程序的输入和输出示例

    popen函数允许一个程序将另一个程序作为新进程启动,并可以传递数据给它或者通过它接收数据,下面使用示例学习一下他的使用方法
    2014-02-02
  • Keras中Conv1D的使用及说明

    Keras中Conv1D的使用及说明

    这篇文章主要介绍了Keras中Conv1D的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python中Tkinter Scrollbar滚动条(窗口滑动条)

    Python中Tkinter Scrollbar滚动条(窗口滑动条)

    本文主要介绍了Python中Tkinter Scrollbar滚动条(窗口滑动条),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python selenium模块实现定位过程解析

    Python selenium模块实现定位过程解析

    这篇文章主要介绍了python selenium模块实现定位过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Pytorch中的数据转换Transforms与DataLoader方式

    Pytorch中的数据转换Transforms与DataLoader方式

    这篇文章主要介绍了Pytorch中的数据转换Transforms与DataLoader方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02

最新评论