我在flask、与Django的文档中都发现需要配置 secret_key
。
这种
secret_key
有什么用吗?如果暴露他会带啦哪些安全风险?
我在flask、与Django的文档中都发现需要配置 secret_key
。
这种 secret_key
有什么用吗?
如果暴露他会带啦哪些安全风险?
有用的.
引用一段 Flask Web Development 中的内容:
SECRET_KEY 配置变量是通用密钥, 可在 Flask 和多个第三方扩展中使用. 如其名所示, 加密的强度取决于变量值的机密度. 不同的程序要使用不同的密钥, 而且要保证其他人不知道你所用的字符串.
SECRET_KEY 的作用主要是提供一个值做各种 HASH, 我没有实际研究过源码, 不同框架和第三方库的功能也不尽相同, 我不能给出准确的答案, 但是主要的作用应该是在其加密过程中作为算法的一个参数(salt 或其他). 所以这个值的复杂度也就影响到了数据传输和存储时的复杂度.
另外, 考虑到安全性, 这个密钥是不建议存储在你的程序中的. 最好的方法是存储在你的系统环境变量中, 通过 os.getenv(key, default=None)
获得.
4 回答1.8k 阅读
1 回答1k 阅读✓ 已解决
1 回答1.1k 阅读
1 回答601 阅读
2 回答507 阅读
418 阅读
用来做一些模块的hash