【问题标题】:Hiding .env on a public server在公共服务器上隐藏 .env
【发布时间】:2021-04-28 20:18:34
【问题描述】:

我有一个 node.js 项目,它使用 dotenv 作为机密(API 密钥、db config/login/pass)。

我在构建它时没有考虑到这一点,但它需要托管在我学校的工程服务器上,用于评分和与同学分享,而不是我通常托管的 Heroku。

如果是 Heroku,我可以将 env 变量存储在那里没有问题,但是在我的学校服务器上,.env 文件将只对所有人开放。

所以我的问题是:有没有办法在不暴露 .env 文件的情况下托管在公共服务器上?

【问题讨论】:

  • 你可以编码你的环境变量,你可以在你的应用程序中使用它们时解码它们,因为如果它打开,我看不到任何其他隐藏它的方法。
  • 这是一个有趣的想法。一层混淆(以及帐户上的 MFA)可能足以帮助我在 3 周的晚上睡觉。

标签: node.js environment-variables


【解决方案1】:

这里有几个选择:

您甚至可以将其存储在数据库中,在应用程序运行时读取配置和机密。

【讨论】:

    【解决方案2】:

    理论上,您可以创建一个只有运行项目的服务用户具有读取权限的文件夹。 或者至少是那个方向的东西。

    【讨论】:

    • 嗯,有一种叫做 root 访问权限或 sudo 的东西
    • 所以这不是你学校的服务器,是共享的?
    • 学校管理服务器并提供给学生使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 2011-02-22
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多