天天看点

Flask框架中生成SECRET_KEY密钥——防御CSRF攻击方法之一

一、遇到

RuntimeError: The session is unavailable because no secret key was set.

错误时,原因就是没有设置secret_key ,在代码中加上

或者

SECRET_KEY最好不要写在代码中。最好设置一个config.py文件,

从中读取该内容——config.py

CSRF_ENABLED = True
SECRET_KEY = 'you-can-never-guess'
           

app.py读取config.py

二、设置什么样的SECRET_KEY?

Flask生成SECRET_KEY(密钥)的一种简单方法

SECRET_KEY是Flask中比较重要的一个配置值。本文介绍一种比较简单的生成SECRET_KEY的方法。

Session, Cookies以及一些第三方扩展都会用到SECRET_KEY值,这是一个比较重要的配置值,应该尽可能设置为一个很难猜到的值,随机值更佳。

随机的问题在于很难判断什么是真随机。一个密钥应该足够随机。你的操作系统可以基于一个密码随机生成器来生成漂亮的随机值,这个值可以用来做密钥: