Node.js 中硬编码的 mysql 用户和密码

2024-04-19

我将 mysql 与 node.js 一起使用。像这样的东西:

    var mysql      = require('mysql');
    var connection = mysql.createConnection({
      host     : 'localhost',
      user     : 'me',
      password : 'secret',
      database : 'my_db'
    });

    connection.connect();

我只是想知道在服务器中硬编码数据库凭据(用户和密码)是否不会损害安全性。 如果确实如此,那么更好的方法是什么?


处理此问题的最佳方法是将您的凭据存储在环境变量中。然后,您可以像这样访问您的凭据:

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : process.env.DB_HOST,
  user     : process.env.DB_USER,
  password : process.env.DB_PASS,
  database : process.env.DB_NAME
});

connection.connect();

然后您可以使用像 dotenv 这样的库来设置环境变量。您可以将环境变量放在 .env 文件中,该文件不随应用程序一起分发,并且不在版本控制中。 .env 示例可能如下所示

DB_NAME=my_db
DB_HOST=localhost
DB_PASS=secret
DB_USER=me

https://www.npmjs.com/package/dotenv https://www.npmjs.com/package/dotenv- 有关使用 dotenv 的更多信息,请参阅此链接,并对应用程序中的 12 因素安全性进行一些研究:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.js 中硬编码的 mysql 用户和密码 的相关文章

  • 删除并加入同一个表

    是否可以执行连接同一个表的删除查询语句 我尝试过各种连接 内部 左侧 但没有运气 mysql 返回错误 我需要的例子 DELETE a FROM t1 AS a INNER JOIN t1 AS b USING some field b W
  • MySQL:如何检索随机行或多个随机行?

    我有一个 MySQL 数据库表 用于存储照片的 URL 我需要从特定类型的数据库中提取 5 条随机记录 我可以像这样提取 5 条记录 SELECT Photos FROM Photos WHERE Photos Type ID 4 LIMI
  • 在 Firebase 管理中验证无密码电子邮件注册

    我试图让我的应用程序的用户通过电子邮件 链接登录 无需密码 客户端 用 React Native 编写 使用 Javascript SDK 请求登录链接 如下所示 基于这个答案 https stackoverflow com questio
  • 匹配 MySQL 中单词/后缀的相似/变体

    我如何匹配 MySQL 中单词的变体 例如搜索 accountancy 应匹配 accountant accountants accounting 等 我使用共享主机 因此无法向 MySQL 添加任何功能 例如 levenshtein 我想
  • 通过页面打开 mysql 连接是完全鲁莽的吗?

    当查询数据库时 是否会感到极度偏执 每次必须完成新查询时 我都会打开和关闭 mysql 连接 我担心 尤其是启用 ajax 的页面 这会导致性能大幅下降 我应该继续使用此方法 还是至少在每个页面 而不是每个查询 中打开和关闭连接一次 顺便说
  • 每次使用 COUNT() 函数,还是存储该值并将其加一?

    我有一个带有用户 投票 表和 用户 表的数据库 我认为数据库会在短时间内变得相当大 所以我想使用最有效的方法 我想我可以每次使用 投票 表中的 WHERE 语句来 COUNT 投票数 或者我可以将分数存储在 用户 表中 每次投票时将其增加
  • 如何在 Flex 中对 PHP 字符串使用换行符

    这是我的 MXML
  • 用于 MySQL 全文搜索的转义字符串

    我正在使用 Laravel 4 并设置了以下查询 if Input get keyword keyword Input get keyword search DB connection gt getPdo gt quote keyword
  • Laravel 查询生成器 - 高级条件子句(可选参数)

    我需要带有接受可选参数的查询生成器的子句 例如 请考虑以下情况 我们有三个搜索字段 产品标题 公司名称和位置 邮政编码 城市或州 2 3 8 种可能性 该位置与 OR 连接 WHERE location postal code LIKE O
  • 使用java将数据插入mySQL表

    I have a predefined table in a mySQL database 我正在努力将从用户输入的数据保存到数据库中 但我似乎无法将任何数据保存在数据库中 使用以下代码 我尝试更新数据库的第一行 ID 1 到 OTHER
  • PDO 和 IS NOT NULL 函数

    我是 PDO 新手 我想知道是否有相当于 mysql 语句的语句来检查参数是否不为空 例如 SELECT FROM table WHERE param IS NOT NULL 我试过这个 pdo gt prepare SELECT FROM
  • { [FacebookTokenError:此授权码已被使用。]

    我有一个航行应用程序 我正在尝试实现 Facebook 登录 当我单击 使用 facebook 登录 按钮时 出现此错误 error A server error occurred in a request error FacebookTo
  • 当第一个套接字连接时加载两个图像而不是一个 - Node.js

    我正在尝试在我的游戏中实现多人游戏功能 我在用着node js为了这 当一个人连接时 应该将一张图像加载到浏览器中 相反 它加载两个图像 这是我班级的一部分 var count 0 Keep track of which player we
  • 如何在 Nodejs 中创建代理下载

    我想创建一个nodejs服务器 它充当下载文件的代理 即用户点击 在下载按钮上 从nodejs服务器调用get nodejs服务器从不同的服务器获取链接 远程服务器并开始下载 以 TB 为单位 然后将该下载转发给用户 TB 文件不应存储在
  • 在 GCP PubSub 中收到任何响应之前重试总超时时间已超过

    我正在尝试使用 Node js 推送到 PubSub 主题 google cloud pubsub模块 这是 JavaScript 代码 const pubsub require google cloud pubsub class MyPu
  • Laravel - SQL - SQLSTATE[01000]:警告:1265 第 1 行列“nsfw”的数据被截断

    我试图保护数据库中的一些数据并收到以下错误 SQLSTATE 01000 警告 1265 第 1 行的列 nsfw 的数据被截断 nsfw 列的标准值是 0 这是我的桌子 nsfw 列也在模型中 fillable array 我想检测是否选
  • AzureAD JWT 令牌受众声明前缀使 JWT 令牌无效

    我正在使用 adal node npm 包通过 AzureAD 进行身份验证 一切正常 我得到了一个令牌 但是 在检查 JWT 令牌中的 aud 声明时 我看到受众 GUID 的前缀为 spn 我认为当我尝试在现有的 Web API 上使用
  • mysql REGEXP 不匹配

    我有一个正则表达式 旨在捕获字符串中的电话号码 1 s d 3 s d 3 s d 4 我尝试使用以下查询在 MySql 数据库中查询此正则表达式 SELECT FROM everything instances meta AS m WHE
  • 使用node和multer将图像上传到heroku不起作用

    我正在尝试使用 Node 后端将图像文件上传到 Heroku 我可以使其工作 同样的过程在本地主机测试中工作得很好 但是在将我的项目部署到 Heroku 并测试它之后 过程和文件中出现错误不会上传 后端 let storage multer
  • 让网站登录也能在 WordPress 上使用

    我使用 PHP 和 MySQL 开发了一个网站 该网站已经有登录和注册表单 myweb com 我已经在这个网址添加了 wordpressmyweb com blog 我想禁用 WordPress 上的登录和注册页面并强制用户使用我的 基本

随机推荐

  • 为什么函数 printk() 不使用逗号来分隔参数?

    一个例子printk call printk KERN INFO Log message n 也许这个问题更多地是关于C的 因为我之前从未见过C中的函数可以不用逗号分隔参数 这是如何运作的 编译器如何处理这些信息 由于日志级别是一个整数 而
  • 在没有正确原型的情况下调用 printf 是否会引发未定义的行为?

    这个看起来无辜的程序是否会调用未定义的行为 int main void printf d n 1 return 0 是的 调用printf 没有适当的原型 来自标准头
  • python:单行笛卡尔积for循环

    你知道你能做到吗 gt gt gt x y for x in xrange 2 for y in xrange 5 0 0 0 1 0 2 0 3 0 4 1 0 1 1 1 2 1 3 1 4 很整洁 是否有 for 循环版本或者只能对列
  • Flash AS3 - 将多个对象拖放到一个目标?

    标题或多或少是不言自明的 我一直在学习许多不同的教程 而且说实话 我对 AS3 不太擅长 上图显示了我的目标 无论如何 我在我看到的大多数在线教程中注意到 拖放教程要么基于一个对象到一个目标 要么基于多个对象到多个目标 所以我想知道是否有人
  • 如何让php函数每5秒循环一次

    我正在尝试创建一个每秒更新一次的 php 函数 使用 php 本身 没有其他语言 只是纯 PHP 代码 function exp do something 我希望它每秒返回一个值 就像每秒更新一样 对于应用程序服务器 不是 Web 服务器
  • 让 WordPress 使用页面而不是类别

    我做了大量的研究并发现了一些像这样的解决方案 https wordpress stackexchange com questions 106042 force wordpress to show pages instead of categ
  • VS 2008 Addon 暂时禁用/删除所有 catch 块

    是否有任何插件可以暂时禁用所有 catch 块 我正在维护一个应用程序 我需要找出它到底在哪里抛出异常 有人已经完成了错误处理 所有层都完成了 这使我的工作变得艰难 我不知道如何禁用 catch 块 但您想要实现的目标可以通过异常对话框中的
  • 如何设置微调器下拉列表的最大长度?

    我有一个微调器 当前打开时会遮挡微调器下方的一些文本 我需要通过 java 代码或 XML 来限制微调器的最大下拉长度 这样它就不会模糊此文本 The current design is the left example while the
  • 获取错误消息

    我们使用以下代码在验证文档时添加新的错误消息 function addFacesMessage message component try if typeof component string component getComponent
  • Firebase Push() 与 Angularfire $save()

    angularfire save 与 firebase push 相比如何 我知道 Push 在存储数据时会生成一个唯一的密钥 但我无法使用 AngularFire 重新创建该行为 有没有办法或者我应该使用 push 如果是这样 在什么情况
  • 消除在 Swift 中连续绘制 UIBezierPath 期间的滞后延迟

    下面的代码通过覆盖触摸来绘制线条 但是在连续不间断绘制的一段时间内开始出现滞后 手指在屏幕上移动的时间越长 这种滞后就会累积并变得更严重 结果是实际设备上的 CPU 几乎达到极限 CPU 98 并且绘图持续时间越长 生成的图像看起来就越不稳
  • 获取 Disqus html 代码以显示在源代码中以实现 SEO 目的

    最近开始在网站上使用 Disqus 想知道是否有任何方法可以让实际的 html 代码显示在源页面中 我注意到这个网站正在这样做 http adamkaras com blog 2009 06 24 disqus custom css sty
  • 鼠标悬停 div 时弹出消息

    尝试让一个简单的弹出窗口出现mouseover a div我按照答案使用 onmouseover 的描述框 https stackoverflow com questions 3559467 description box on mouse
  • 如何从 java.util.Map 转换为 Scala Map

    Java API 返回一个java util Map
  • 在 Fantasy Football 阵容优化器中添加 Flex 位置

    我编写了一些 R 代码来生成最佳的幻想足球阵容 最大化预计得分 该阵容受到用户输入的名单大小和选秀预算的约束 该数据框基于称为 球员 的数据框 该数据框由球员 位置 幻想点和选秀组成价值 我们的想法是在选秀之前使用这个工具 记住理想的阵容
  • 如何使用线性索引在多维数组中设置值

    使用线性索引在 C 多维数组中设置值的最有效方法是什么 例如给定一个数组 int arr2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 如何使
  • 用于图像中文本检测的霍夫变换算法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 霍夫变换算法是用于文本行检测和边缘检测的算法之一 霍夫变换算法可以用于检测图像中的文本吗 这道题在java中的流程或者实现应该是怎样的
  • 在 JavaScript 中将浮点数转换为整数的最佳方法是什么?

    在 JavaScript 中 有多种不同的方法可以将浮点数转换为整数 我的问题是哪种方法可以提供最佳性能 最兼容或被认为是最佳实践 以下是我所知道的几种方法 var a 2 5 window parseInt a 2 Math floor
  • 如何在 Android 中强制蓝牙 LE“正常工作”配对

    我有一个运行 GATT 服务器的嵌入式系统 我尝试通过 Android 连接该服务器 任务很简单 连接到 GATT 服务器 导航特征并验证读 写功能 问题是当我尝试连接 Android 应用程序时 它尝试与 Passkey 而不是 Just
  • Node.js 中硬编码的 mysql 用户和密码

    我将 mysql 与 node js 一起使用 像这样的东西 var mysql require mysql var connection mysql createConnection host localhost user me pass