MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Правилно скриване на идентификационните данни на базата данни

...Имам моя файл за връзка с db и друг "защитен" файл, където са моите идентификационни данни и този файл е включен в .gitignore. Импортирам го и стигам до данните..

Правилният начин да го направите е да използвате променливи на околната среда.

Използвайте променливи на околната среда

Променливите на средата са зададени в средата , т.е. вашата локална машина за разработка или отдалечен производствен сървър. След това в приложението ви четете променливите на средата и ги използвате по подходящ начин.

Има (поне) няколко причини обикновено да се прави така:

  • Идентификационните данни не съществуват във файл, който може да бъде прочетен от някой, който преглежда съдържанието на хранилището. Някой, който клонира хранилището, не трябва да знае вашата идентификационни данни за база данни.
  • Идентификационните данни вероятно са различни в различните среди. Вероятно използвате различна база данни на вашата локална машина за разработка и различна база данни във вашия отдалечен производствен сървър.

Ето как задавате променливи на средата (това е за Linux, други ОС може да са различни):

$ export MONGO_DB_USERNAME=foo
$ export MONGO_DB_PASSWORD=bar

и ето как ги четете в Node.js:

console.log(process.env.MONGO_DB_USERNAME) // logs 'foo'
console.log(process.env.MONGO_DB_PASSWORD) // logs 'bar'

или предайте променливи на процеса при стартиране

Като алтернатива можете да предавате променливи, когато стартирате процеса, както следва:

$ MONGO_DB_USERNAME=foo MONGO_DB_PASSWORD=bar node app.js

Това обаче обикновено не се препоръчва, тъй като най-вероятно стартирате процеса чрез npm start script. Тъй като package.json , където npm start командата е дефинирана, винаги е ангажирана с хранилището, тя побеждава цялата цел за скриване на идентификационните данни.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. уникален мангуст:вярно не работи

  2. Урок за PyMongo:Тестване на отказ на MongoDB във вашето Python приложение

  3. Как да предавате поточно резултатите от заявките на MongoDB с nodejs?

  4. Компресиране на индексен префикс в MongoDB 3.0 WiredTiger

  5. Как да обобщим по година-месец-ден в различна часова зона