...mám svůj soubor připojení db a další "chráněný" soubor, kde jsou moje přihlašovací údaje, a tento soubor je součástí .gitignore. Naimportuji to a dostanu se k datům..
Správný způsob, jak to udělat, je použít proměnné prostředí.
Používejte proměnné prostředí
Proměnné prostředí se nastavují na prostředí , tj. váš místní vývojový stroj nebo vzdálený produkční server. Poté si ve své aplikaci přečtete proměnné prostředí a vhodně je použijete.
Existuje (alespoň) několik důvodů, proč se to obvykle dělá takto:
- Přihlašovací údaje neexistují v souboru, který by mohl číst někdo, kdo si prohlíží obsah úložiště. Někdo, kdo klonuje úložiště, nemusí znát vaše přihlašovací údaje k databázi.
- Pověřovací údaje se pravděpodobně v různých prostředích liší. Pravděpodobně používáte jinou databázi na svém místním vývojovém počítači a jinou databázi na vzdáleném produkčním serveru.
Zde je návod, jak nastavit proměnné prostředí (toto platí pro Linux, jiné OS se mohou lišit):
$ export MONGO_DB_USERNAME=foo
$ export MONGO_DB_PASSWORD=bar
a takto je čtete v Node.js:
console.log(process.env.MONGO_DB_USERNAME) // logs 'foo'
console.log(process.env.MONGO_DB_PASSWORD) // logs 'bar'
nebo předejte proměnné procesu při spouštění
Případně můžete předat proměnné při spouštění procesu takto:
$ MONGO_DB_USERNAME=foo MONGO_DB_PASSWORD=bar node app.js
To se však obecně nedoporučuje, protože proces s největší pravděpodobností začínáte pomocí spouštěcího skriptu npm. Od package.json
, kde je npm start
příkaz je definován, je vždy odevzdán úložišti a maří celý účel skrytí přihlašovacích údajů.