database - Github 上公开可见的数据库密码是个问题?
问题描述
我正在运行一个快速服务器,我对数据库非常陌生。如果我在我的 express 服务器的 Github 上有一个公共 repo,并且这行代码在其中一个文件中公开可见:
const pool = new Pool({
user: "postgres",
host: "localhost",
database: "postgres",
password: "dummypassword",
post: 5432
});
人们能否以某种方式使用我的“虚拟密码”连接到我的 PSQL 数据库并弄乱存储在该数据库中的人们的帐户?我计划将它部署到 DigitalOcean,我想知道这是否会成为以后的问题。
谢谢 :)
解决方案
如果dummypassword
是您的真实数据库密码,那么是的,这绝对是个问题。您实际上是在向黑客提供有关如何连接到您的数据库的说明!不要这样做。
研究在 npm 上使用 dotenv。这将允许您创建一个.env
文件,该文件可以在版本控制之外的服务器(即 Github)上保存这些宝贵的信息。
https://www.npmjs.com/package/dotenv
为了解释这一点,在处理数据库凭据时,我总是会谨慎行事。假设有人确实可以访问此信息,但这不是实际的数据库密码,但其余凭据是。入侵者现在知道您正在运行什么样的数据库、它的位置、端口和用户名。他们只需要密码就可以访问您的整个生产数据库和所有用户信息。
推荐阅读
- java - 如何使用递归工作制作反向补码方法?
- python - Pandas 合并和合并行
- react-native - TouchableOpacity 未在博览会上触发本机反应
- performance - 为什么从网络驱动器加载猫鼬包非常慢?
- c# - 水平连接列表 C#
- php - 提供消息时,Phpunit `markTestIncomplete` 打印 I
- javascript - express.js 从 mysql 数据库中检索用户名不会重定向到登录页面
- java - 简单的 JFileChooser FileFilter 不起作用
- php - Wordpress 插件:反向代理静态文件
- go - 编辑内存中的 zip 文件