2014-09-19 35 views
0

Cloud9是一项很酷的服务。如果您创建了一个公开的工作区,那么意味着每个知道您的项目url并拥有cloud9帐户的人都可以浏览并下载您的代码。这意味着如果我的项目具有与mongodb的连接性,则每个人都将看到登录名和密码以连接到mongo(因为它将位于某个源文件中)。在开源项目中安全地存储连接数据库的密码

唯一的选择,我可以看到密码的安全存储(除了使项目专用)是以某种方式将它们添加到环境变量,并使用process.env.XXXXXX在代码中调用。这似乎是安全的,因为即使其他人可能浏览我的代码,他们也无法打开终端并检查我定义的环境变量。

那么,有没有一种方法,我的自定义环境变量(一个或多个)加入,他们将通过process.env.XXXXXX可访问节点的代码里面?

回答

2

使用cloud9跑步者运行项目时,跑步者工具栏右侧会出现Environment弹出菜单。你可以用它来添加你想要的环境变量,但是请确保不要添加一个名称到配置,因为配置名称会自动保存在.c9/project.settings

另一种解决方案是创建一个文件在该目录不以readOnly模式暴露。 e.g

echo "password" | sudo tee /xxx 

您可以使用vi CLOUD9航站楼内甚至编辑/xxx文件。

但当然,最好的解决办法就是购买付费订阅,并获得更多的私人工作空间:)

+0

使用现在的第一个解决方案,而思考最后一个=) – kaytrance 2014-09-22 09:14:00

4

可以在~/.profile定义环境变量。只读用户无法访问工作空间目录/home/ubuntu/workspace以外的文件。你可以做例如

$ echo "export SECRET=geheim" >> ~/.profile 

定义变量SECRET,然后从你的应用程序中使用它通过process.env.SECRET。跑步者(从“跑步”按钮)和终端将评估~/.profile,并使环境变量可用于您的应用程序。

+0

似乎是一个很好的补充! – kaytrance 2014-09-24 09:17:42

+0

感谢您澄清什么是可见的,回答了我的几个问题。 – nighliber 2014-11-05 23:02:05

相关问题