如何将代码推向GitHub隐藏API键



我想将一些代码推向我的github存储库。这些代码使用不同的语言,例如JavascriptJavaPython等。其中一些代码包含一些我不想发布的私有API密钥。

有什么方法可以自动隐藏密钥。我应该手动从代码中删除它吗?

我想将许多项目推向github。因此,手动删除不是一个不错的选择。

您应该考虑使用.env文件并读取环境变量的键。这样做的方法取决于您使用的语言和工具(对于node.js,php等(。

您可以通过将.env添加到.gitignore中将.env文件排除在提交中。您还可以使用虚拟数据或空白上传示例配置.env.example,以显示您的应用程序所需的模式。

等敏感数据的文件时
config.yml

您不得将它们提交给您的存储库。我会告诉你一个例子。

假设您有一个带有一些用户名和密码的YAML文件:

# app/config/credentials.yml
credentials:
    username: foo
    password: bar

如果要隐藏foobar值,请从存储库中删除此文件,但要添加旨在维护用户名和密码字段的distribution文件,但没有任何实际值:

# app/config/credentials.yml.dist
credentials:
    username: ~
    password: ~

在安装期间,您可以通过将app/config/credentials.yml.dist复制到app/config/credentials.yml

来获取此文件。

另外,请记住将app/config/credentials.yml添加到您的.gitignore文件。

与API键相同:

# app/config/config.yml
config:
    credentials:
        username: foo
        password: bar
    api_stuffs:
        api_foo: fooooo
        api_secret: baaaaar
        api_token: tooooken

这对配置文件非常有效,并且是一个很好的模式,每当您需要共享配置的结构而不是敏感数据时,可以节省您。初始文件,配置等。

在代码中将API键带入可能是一个坏主意。这意味着任何想要使用您的代码的人都必须编辑代码并重建代码。

此类用途的教科书解决方案是将凭据移至某些配置文件,并在README.md文件中添加有关配置文件的结构和位置的清晰文档。您也可以在gitignore文件中添加一个条目,以防止自己(和其他任何人(错误地将您的私人信息推向GitHub。

您可以在服务器中添加环境变量以隐藏API键。所有流行的编程语言都有默认方法来实现环境变量。

上述所有答案都不错,但我认为作为初学者,文档很困难。因此,我正在用此解决方案中的图片总结所有内容

步骤0 :在终端中写npm i dotenv -- save以安装env文件。

步骤1 :创建一个文件.env。请注意,不要给文件名提供名称,只需创建.env文件本身即可。如果在步骤1中疑问,请单击图像

步骤2::现在在文件中添加您的API键,例如(api_key = jkdjkjkl343434342(。如果在步骤2

中疑问,请在图像上单击。

步骤3 ::在JS文件中,您正在使用以下代码的行:

require('dotenv').config();
const apikey= process.env.API_KEY;

如果在步骤3中疑问,请单击图像

  • 现在可以轻松地使用当前JS文件中的API密钥。只需在.gitignore文件中添加.env即可。单击图像如果在步骤4中疑问