【问题标题】:Password protection for public github [closed]公共github的密码保护[关闭]
【发布时间】:2021-09-27 11:40:38
【问题描述】:

我正在使用烧瓶和 python 创建一个个人网站。我正在使用烧瓶邮件来设置一个带有 gmail 的 smtp 服务器,这需要 gmail 帐户的凭据。我想知道在推送到 GitHub 时是否有办法加密或保护我的 gmail 的密码和帐户?

【问题讨论】:

  • 你不应该永远提交凭据,更不用说将它们推送到 github。
  • 你使用的是什么操作系统?
  • 我用的是mac os

标签: python flask github flask-mail


【解决方案1】:

不要将您的凭据存储在代码中!使用环境变量。

例如在 linux 或 OSX 上使用 bash:

您可以在命令行上设置环境变量,然后运行您的脚本。

$ export PASSWORD=my_password
$ python run.py

然后您的脚本可以获取密码。这样,当您提交代码并将其推送到 github 时,您就不会暴露任何秘密。

import os

PASSWORD = os.getenv("PASSWORD")

如果您要设置许多环境变量,可以将它们存储在像secrets.env 这样的文件中,然后source secrets.env 将它们全部加载。请务必将secrets.env 添加到您的.gitignore,以免您意外提交!

此外,如果您需要在运行时作为 CI 或部署的一部分提供一些机密信息,您可以在 GitHub https://docs.github.com/en/actions/reference/encrypted-secrets 上使用加密机密信息

【讨论】:

  • 你应该提到export适用于Linux和MacOS(据我所知),对于windows有set我认为可能是错误的
  • 好点!添加了一些说明。
  • 非常感谢!我想知道如何防止在我的代码中存储凭据。
【解决方案2】:

永远不要将您的凭据和 API 密钥推送到 Github,始终倾向于将这些凭据存储在 env 文件中。

【讨论】:

    猜你喜欢
    • 2012-07-20
    • 2011-04-15
    • 2014-05-11
    • 2013-07-10
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 2019-02-18
    • 2020-11-20
    相关资源
    最近更新 更多