引子
如果遇到了 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的flask框架中生成secret_key密钥相关文章请关注php中文网!