2014-09-19 71 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

相關問題