如您所见,我有我的数据库连接文件和另一个“受保护的”文件,我的凭据在其中,并且此文件包含在.gitignore中。我导入它并到达数据。很基本。因此,我的问题是:
当前代码:
const mongoose = require("mongoose");
const mongoCredentials = require("../protected/mongoCredential");
const URI = `mongodb+srv://${mongoCredentials.username}:${mongoCredential.password}
@firstcluster-eldi8.mongodb.net/culturapp?retryWrites=true&w=majority`;
mongoose.connect(URI, { useUnifiedTopology: true, useNewUrlParser: true })
.then(db => console.log("MongoDB is connected"))
.catch(err => console.log(">> ERROR: ",err));
module.exports = mongoose;
…我有我的数据库连接文件和另一个“受保护的”文件,其中包含我的凭据,并且此文件包含在.gitignore中。我导入它并到达数据。
正确的方法是使用环境变量。
环境变量是在 环境 (即您的本地开发机器或远程生产服务器)上设置的。然后,在您的应用程序中,读取环境变量并适当地使用它们。
通常有(至少)几个原因,例如:
设置环境变量的方法如下(这在Linux中,其他OS可能有所不同):
$ export MONGO_DB_USERNAME=foo
$ export MONGO_DB_PASSWORD=bar
以下是在Node.js中阅读它们的方式:
console.log(process.env.MONGO_DB_USERNAME) // logs 'foo'
console.log(process.env.MONGO_DB_PASSWORD) // logs 'bar'
另外,您可以在启动过程时传递变量,如下所示:
$ MONGO_DB_USERNAME=foo MONGO_DB_PASSWORD=bar node app.js
但是,通常不建议这样做,因为您很可能要通过npm start
script
启动进程。因为package.json
,这里的npm start
命令定义,始终致力于资源库,就违背了隐藏凭证的全部目的。
我有一个非常简单的窗口,它包含一个按钮:。 在main函数中,我设置了我的并且在按钮监听器中,我想关闭窗口,所以我将可见性设置为false:之后,我执行以防止在多次运行程序时可能出现的内存泄漏。 我有两个问题: 在上述情况下,我真的需要吗? 如果我有这个作为
我有一个用户名和密码在我的Java应用程序调用外部API。我想模糊这些凭据的字符串,而不是硬编码在源代码中的纯文本。 有什么建议吗?
嗨,我有一个用于OAuth2的spring配置xml文件。我对它进行了这样的配置,即需要参数和效果curl来请求令牌。它会发出以下请求: curl-x post-v http://localhost:8080/oauth/token-d“grant_type=password&client_id=test&client_secret=test&username=user1&password=pas
我浏览了很多帖子,但没有抓住要点。 我们能不能说:抽象=封装数据隐藏 或者不止这些!! 谢谢
我对Vertx相当陌生,正在尝试寻找一些实际的数据库使用示例。 我有一个创建共享数据库对象的Verticle(和许多处理路由的类),但我想在主类之外使用共享数据库,显然我可以在其他类构造函数中传递数据库对象,但我相信Vertx有更好的方法来实现这一点。 有没有人有任何Java Vertx示例,其中包含真实的数据库实现? 提前谢谢你。
本文向大家介绍两种iOS隐藏导航栏的正确方法,包括了两种iOS隐藏导航栏的正确方法的使用技巧和注意事项,需要的朋友参考一下 简介 在项目中经常碰到首页顶部是无限轮播,需要靠最上面显示.有的设置导航栏为透明等一系列的方法,这个可以借助第三方.或者干脆简单粗暴的直接隐藏掉导航栏.可是push到下一个页面的时候是需要导航栏的,如何做了,这里给出两种方法. 第一种做法 -注意这里一定要用动画的方式隐藏导航