Cloud9是一项很酷的服务。如果您创建一个公共工作空间,则意味着每个知道您的项目URL并在cloud9上拥有帐户的人都可以浏览和下载您的代码。这意味着如果我的项目有连接到mongodb,每个人都会看到登录和密码连接到mongo(因为它将在某个源文件中)。
我可以看到安全存储密码的唯一选项(除了使项目保密)是以某种方式将它们添加到环境变量中,并使用 process.env.XXXXXX 调用在代码中。这似乎是安全的,因为即使其他人可能浏览我的代码,他们也无法打开终端并检查我定义的环境变量。
那么,有没有办法将我的自定义环境变量添加到可以通过节点代码中的 process.env.XXXXXX 访问它们?
答案 0 :(得分:4)
您可以在~/.profile
中定义环境变量。只读用户无法访问工作空间目录/home/ubuntu/workspace
之外的文件。你可以这样做。
$ echo "export SECRET=geheim" >> ~/.profile
定义变量SECRET
,然后通过应用程序中的process.env.SECRET
使用它。跑步者(来自“运行”按钮)和终端将评估~/.profile
并使环境变量可用于您的应用。
答案 1 :(得分:2)
使用cloud9 runners运行项目时,跑步工具栏的右侧有环境弹出窗口。您可以使用它以您希望的方式添加环境变量,但请确保不要为配置添加名称,因为带有名称的配置会自动保存在.c9 / project.settings
中另一种解决方案是在未以readOnly模式公开的目录中创建文件。 e.g
echo "password" | sudo tee /xxx
您甚至可以使用cloud9终端内的/xxx
编辑vi
文件。
但当然最好的解决方案是购买高级订阅,并获得更多私人工作空间:)