2016-11-15 93 views
2

我創建了一個config.js文件,它存儲了我所有的數據庫連接信息。然後我需要在我的db-connect.js中。配置文件是gitignored,所以它不會被提交。但是,我想知道這是否安全,或者是否還可以採取其他措施來保護這些信息?保護nodeJS數據庫配置文件

Config.js只是看起來像這樣的時刻:

var dbconfig = { 
    database: 'dbname', 
    username: 'dbusername', 
    password: 'dbpassword' 
}; 

module.exports = dbconfig; 

這裏對於類似的問題,但都只是說沒有提交文件 - 但是,對我來說這仍似乎並不如儘可能安全?

+0

不,這絕對不安全。加密此文件並將其保留在Webroot之外。 – Kai

回答

0

可能沒有一個正確的答案,這裏是你的選擇

  1. 環境變量: 我看到人們寧願節省自己的配置環境變量或者他們的〜/ .bashrc文件暫時在一個特定的流程例如:

    的〜/ .bashrc

    export DB_USER=username

    export DB_PASS=password

    臨時 DB_USER =用戶名DB_PASS =密碼節點./app.js

  2. 有你的配置文件從項目中分離出來,並要求它從一個絕對路徑如:

    var config = require('/<path>/<to>/config.js');

    因此,您將確保您的應用程序永遠不會爲您的配置文件提供服務,因爲它不是Web根目錄的一部分。

  3. 加密您的配置文件並在您每次應用程序重新啓動並讀取它時對其進行解密。

我對大多數應用程序首選1和2。

0

我想添加一個建議,因爲保持配置文件中的配置祕密絕對是一個安全(和可管理性)問題。您可以使用https://www.npmjs.com/package/masterkey將祕密存儲在Azure Key-Vault等安全位置!