Flask的secret_key作用
app = Flask(__name__)
app.secret_key = 'your_secret_key'
app.secret_key
在 Flask 应用中扮演了非常重要的角色,它用于保护和加密敏感的会话数据和防范某些类型的攻击。下面是 secret_key
的主要作用和相关解释:
1. 加密会话数据
- Flask 使用
secret_key
来对会话数据进行签名和加密。会话数据存储在客户端的 cookie 中,但因为它被签名和加密,用户无法轻易篡改会话数据。 - 每次 Flask 在客户端和服务器之间传递会话时,它都会使用
secret_key
对数据进行签名。任何尝试修改会话数据的行为都会被检测到,从而保护应用免受会话劫持和篡改。
2. 保护 CSRF 令牌
- 如果 Flask 应用使用了表单提交和保护 CSRF(跨站请求伪造),那么
secret_key
也用于生成和验证 CSRF 令牌。 - CSRF 令牌通常存储在用户的会话中,通过
secret_key
进行签名。这确保了提交的表单是由受信任的用户发起的,而不是由恶意网站伪造的。
3. 闪现消息的加密
- Flask 的闪现消息(Flask Flash Messages)功能用于在用户之间传递短暂的消息。
secret_key
保护这些闪现消息,确