这个文件提交到存储库是否安全,或者它会泄露我的密钥吗?

Is this file safe to commit to a respository or will it reveal my secret key?

我目前正在尝试为我的密钥设置安全配置。我正在关注 Miguel Grinberg 的“Flask Web Development”。在第 7 章中,他提供了一个 config.py 文件的示例。

在 config.py 中,他按以下方式定义 SECRET_KEY:

Class Config:
   SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string'

根据我的理解,此文件的功能是首先在 ENV 中查找 'SECRET_KEY' 的值但找不到,提供默认 secret_key 和 'hard to guess string'。

如果我没有 ENV 定义,这个文件提交到存储库是否安全,或者它是否会破坏 cookie 的加密secret_key?

如果我部署此代码和 运行 带有不包含 'SECRET_KEY' 的 ENV 的网络应用程序,人们将能够在我的存储库中找到 'hard to guess string' 使用那个 secret_key,对吧?

避免出错的最安全方法是删除 or 'hard to guess string',然后确保您的生产环境中的 .env 具有生产密钥,并且您的 .env开发环境使用单独的秘密。您需要将 .env 添加到您的 .gitignore 中,以免意外签入。

如果您还没有了解,Grinberg 在第 15 章中添加了 python_dotenv