-
任何需要加密的内容(为了安全防范攻击者的篡改)都需要设置密钥。对于 刚刚 瓶本身,即“什么”是
Session
对象,但其他的扩展可以使用相同的秘密的。secret_key
仅仅是为SECRET_KEY
配置密钥设置的值,或者您可以直接设置它。快速入门中的“会话”部分对应该设置哪种服务器端机密提供了很好的建议。
加密取决于机密;如果您没有设置要使用的加密服务器端密钥,那么每个人都可以破坏您的加密;就像您计算机的密码一样。秘密加上要签名的数据用于创建签名字符串,使用加密哈希算法很难重新创建值;仅当您具有完全相同的机密
且
原始数据时,您才能重新创建此值,让Flask检测是否未经许可对任何内容进行了更改。由于Flask不会将秘密包含在发送给客户端的数据中,因此客户端无法篡改会话数据,并希望产生新的有效签名。Flask使用该
itsdangerous
库来完成所有艰苦的工作;会话使用带有自定义JSON序列化程序的itsdangerous.URLSafeTimedSerializer
类。