2014-09-19 2 views
0

Cloud9 - это классный сервис. ЕСЛИ вы создаете рабочее пространство, которое является общедоступным, это будет означать, что каждый, кто знает ваш URL-адрес проекта и имеет учетную запись в cloud9, может просматривать и загружать ваш код. Это означает, что если у моего проекта есть, например, подключение к mongodb, каждый увидит логин и пароль для подключения к mongo (потому что он будет в некотором исходном файле).Хранение безопасных паролей для подключения к БД в проектах с открытым исходным кодом

Единственный вариант, я могу видеть, хранить пароли надежно (кроме делает проект частного) является каким-то образом добавить их в переменных окружения, а также использовать process.env.XXXXXX вызова в коде. Это кажется безопасным, потому что, даже если другие могут просматривать мой код, они не могут открыть терминал и проверить, какие переменные среды я определил.

Итак, есть ли способ добавить свои пользовательские переменные окружения к тому, что они будут доступны через process.env.XXXXXX код внутреннего узла?

ответ

2

При запуске проекта с бегунами cloud9 в правой части панели инструментов бегунка появляется всплывающее окно Environment. Вы можете использовать его для добавления переменных среды так, как вы хотите, но не добавляйте имя в конфигурацию, так как конфиги с именем автоматически сохраняются в .c9/project.settings

Другим решением является создание файла в каталог не отображается в режиме readOnly. например

echo "password" | sudo tee /xxx 

вы даже можете редактировать /xxx файл, используя vi внутри Cloud9 терминала.

Но, конечно, лучшим решением будет купить премиум подписку и получить более частные рабочие пространства :)

+0

используя теперь первое решение, думая о последнем =) – kaytrance

4

Вы можете определить переменные окружения в ~/.profile. Файлы вне каталога рабочей области /home/ubuntu/workspace недоступны для пользователей только для чтения. Вы можете сделать, например.

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

определить переменную SECRET, а затем использовать его через process.env.SECRET из приложения. Бегуны (из кнопки «запустить») и терминал будут оценивать ~/.profile и сделать переменную окружения доступной для вашего приложения.

+0

кажется приятным дополнением! – kaytrance

+0

Спасибо за разъяснение того, что видно, отвечает на пару вопросов, которые у меня были. – nighliber