我在nodejs中做一个应用程序,我在我的github仓库中推送了我的mongodb URL,这是不安全的。那么我如何隐藏或移动到某个地方,它不会在nodejs中推送。我错误地推入了Github,它收到了一封关于它的邮件。
GitGuardian检测到您的GitHub帐户中暴露了以下MongoDB URI。
如何通过使用env变量或包含其他文件中不会被推送的变量来修复此问题
f2uvfpb91#
你不需要将.env文件(其中可能包含你的凭证和你的db url)推送到github。当你将你的repo托管到托管服务时,他们会为你提供在服务器上创建.env文件的功能。
raogr8fs2#
您还可以将变量完全存储在存储库之外,这是AWS通常推荐的~/.aws/credentials方法。然后,在您用于生产的任何平台上,利用其内置的凭据管理,如Azure Vault或AWS Secrets Manager。除了使用.env或凭证文件之外,另一种方法是采用免费开源的Hashicorp's Vault等机密管理器来安全地存储凭证,然后在需要时以编程方式调用它们。大多数平台都可以与此类工具集成,从而更容易在整个开发和构建过程中保持凭证加密。进一步:你也可以看看那些利用git hooks的工具,它们可以帮助你避免在git历史记录中添加包含凭据的提交。AWS-Labs、Trufflehog和(既然你提到了它们)GitGuardian都有这样的工具。
~/.aws/credentials
.env
2条答案
按热度按时间f2uvfpb91#
你不需要将.env文件(其中可能包含你的凭证和你的db url)推送到github。当你将你的repo托管到托管服务时,他们会为你提供在服务器上创建.env文件的功能。
raogr8fs2#
您还可以将变量完全存储在存储库之外,这是AWS通常推荐的
~/.aws/credentials
方法。然后,在您用于生产的任何平台上,利用其内置的凭据管理,如Azure Vault或AWS Secrets Manager。除了使用
.env
或凭证文件之外,另一种方法是采用免费开源的Hashicorp's Vault等机密管理器来安全地存储凭证,然后在需要时以编程方式调用它们。大多数平台都可以与此类工具集成,从而更容易在整个开发和构建过程中保持凭证加密。进一步:你也可以看看那些利用git hooks的工具,它们可以帮助你避免在git历史记录中添加包含凭据的提交。AWS-Labs、Trufflehog和(既然你提到了它们)GitGuardian都有这样的工具。