首页 > 解决方案 > Github 上公开可见的数据库密码是个问题?

问题描述

我正在运行一个快速服务器,我对数据库非常陌生。如果我在我的 express 服务器的 Github 上有一个公共 repo,并且这行代码在其中一个文件中公开可见:

const pool = new Pool({
  user: "postgres",
  host: "localhost",
  database: "postgres",
  password: "dummypassword",
  post: 5432
});

人们能否以某种方式使用我的“虚拟密码”连接到我的 PSQL 数据库并弄乱存储在该数据库中的人们的帐户?我计划将它部署到 DigitalOcean,我想知道这是否会成为以后的问题。

谢谢 :)

标签: databasepostgresqlexpressgithub

解决方案


如果dummypassword是您的真实数据库密码,那么是的,这绝对是个问题。您实际上是在向黑客提供有关如何连接到您的数据库的说明!不要这样做。

研究在 npm 上使用 dotenv。这将允许您创建一个.env文件,该文件可以在版本控制之外的服务器(即 Github)上保存这些宝贵的信息。

https://www.npmjs.com/package/dotenv

为了解释这一点,在处理数据库凭据时,我总是会谨慎行事。假设有人确实可以访问此信息,但这不是实际的数据库密码,但其余凭据是。入侵者现在知道您正在运行什么样的数据库、它的位置、端口和用户名。他们只需要密码就可以访问您的整个生产数据库和所有用户信息。


推荐阅读