【问题标题】:How to hide my database string in a github public repo如何在 github 公共仓库中隐藏我的数据库字符串
【发布时间】:2022-09-28 15:00:19
【问题描述】:

我上传了我的 repo,它有一个名为 \'dbstring\' 的数据库字符串,我不想与任何人分享。 我在 github 上创建了一个存储库机密,并使用它的值创建了一个名为 DBSTRING 的值,但问题是我不知道如何访问它。

这是我上传的代码,它显示了我的 dbstring。

const dbstring = mongodb+srv:/***********b.net

mongoose.connect(dbstring, { useUnifiedTopology: true, useNewUrlParser: true });

const db = mongoose.connection;

db.once(\'open\', () => {
  console.log(\'Database connected:\', url);
});

如何用我在 github 存储库中创建的秘密值替换 dbstring?

    标签: javascript github mongoose


    【解决方案1】:

    您需要做的是使用Environment variables,您可以在其中为每个环境拥有一个.env(如果您使用dotenv)。然后,您将数据库凭据安全地保存在您的计算机和服务器上,这也可以针对不同的环境,如数据库生产、开发、测试等。确保在 .gitignore 文件中添加了 .env 文件.

    同样重要的是,当您运行此代码时,它会在服务器端执行,否则任何打开开发工具的人都将能够看到凭据。然后在您的客户端使用axios 向与该数据库连接相关的URL 发出请求。

    【讨论】:

    • 如果我将它放在 env 和 gitignore 中,我的应用程序将无法工作,因为它需要从该变量加载我的数据库,而当我忽略它时,它将无法工作。我的意思是如果我想隐藏的变量需要运行怎么办?
    • 你的 repo 上仍然有 .env 文件,但是带有你的秘密值的文件将永远在你的计算机上,而你可以在 git repo 上拥有一个修改版本
    猜你喜欢
    • 2021-04-07
    • 2021-08-18
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多