我正在使用Node-Postgres包查詢postgresql/postgis數據庫爲我在Sails.js框架內建立的應用程序。節點/風帆/節點Postgres,存儲連接字符串的最佳實踐
我不知道在哪裏存儲node-postgres包的連接字符串的最佳位置是使它在模型和控制器中可訪問,但仍然安全。
例如,如果我想從一個模型中執行對Postgres數據庫的查詢,我目前做的:
var conString = "postgres://postgres:[email protected]:5432/myapp_dev";
var client = new pg.Client(conString);
client.connect();
var junk = [];
client.query('SELECT * FROM junk', function (err, result) {
// Stuff I do with the query result
});
顯然,這是不好的做法/不方便聲明這個ConnectionString的和新的客戶端每次我需要執行查詢。所以,我希望能夠做的是:
client.connect();
var junk = [];
client.query('SELECT * FROM junk', function (err, result) {
// Stuff I do with the query result
});
所以我剛剛刪除了conString和新的客戶端聲明。但我不知道應用程序中的哪個位置可以存儲這些內容,以使它們可以訪問且安全。
我的目錄結構遵循標準Sails.js應用程序結構,與此類似:http://runnable.com/UlbJJhdpQyoWAAAK/sails-js-example-project-for-node-js-and-webserver
任何幫助,將不勝感激
這是更安全的機制來處理這樣的事情 - 當然。如果得到適當保護,唯一可以訪問該變量的用戶將是可以運行該進程的用戶,並且如果該用戶受到攻擊,那麼您已經被調用。 – Guardius