这个文件提交到存储库是否安全,或者它会泄露我的密钥吗?
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
。
我目前正在尝试为我的密钥设置安全配置。我正在关注 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
。