javascript - 在运行时添加用户密码

标签 javascript node.js security

我有一些 Node 应用程序应该获取用户密码才能运行, 我不想对用户密码进行硬编码,但我想在部署过程中通过某种方式传递它,就像我这样做的时候 npm start 使用命令行并添加用户密码 将填写代码,有一些最佳实践如何在 Node 中完成?

在我搜索 SO 之后,我找到了这篇文章,但它没有帮助,因为你将代码放在我看来相同的配置文件中,用户 passowrd 提供了我想避免的代码......任何示例将非常有帮助

Best way to store DB config in Node.Js / Express app

假设文件上的一个运行时需要此用户密码...

例如

request({
    uri: API,
    method: 'POST',
    json: true,
    form: {
      'username': 'user123',
      'password': 'password123'
},

我想要的是类似于这种方法的东西,(或者我想了解如何使用它的更好的东西)

 request({
    uri: API,
    method: 'POST',
    json: true,
    form: {
      'username': ~username,
      'password': ~password
},

并在部署期间运行以下命令

npm start 用户名user123 密码password123

最佳答案

您可以使用 environment variables .

假设您有一个名为 USERNAME 的环境变量。
您可以像这样在 Node.js 应用程序中访问它:

console.log( process.env.USERNAME )

您可以在启动应用程序时提供环境变量,如下所示:

USERNAME=example npm start

您可能还想查看这个名为 dotenv 的超酷项目.env 文件中加载环境变量。

您可以将 .env 添加到您的 .gitignore 并且凭据不会随代码一起提供。

关于javascript - 在运行时添加用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45848226/

相关文章:

security - Symfony2 登录事件监听器和 security.interactive_login 事件从未使用 FOSUser 触发

c - 如何利用 Format-String 漏洞?

javascript - 如何找到与元素关联的 css 文件名?

javascript - Tealium Javascript 代码扩展如何返回变量

node.js - 如何将 Reagent 添加到 Node JS API

node.js - nodejs脚本之间的socket.io通信

security - 如何保持计算机(尤其是软件)安全性的最新状态?

javascript - 单击时追加元素

javascript - 使用日期函数javascript

javascript - 在循环依赖NodeJS中访问module.exports不存在的属性