2014-11-05 136 views
0

爲了從網絡訪問我的帳戶kinvey,我把config.js文件象下面這樣:Kinvey密鑰和祕密密鑰安全的Web

var config = { 

kinvey : { 

    app : { 

     key : 'kid_123123123', 

     secret : '66a1111f62233445502833' 

    } 

} 
}; 

,並在每JS初始化文件,它象下面這樣:

var promise = Kinvey.init({ 
    appKey : config.kinvey.app.key, 
    appSecret : config.kinvey.app.secret 
}); 

如果一個人得到我的鑰匙和祕密,那麼他將能夠從我的kinvey數據庫做CRUD。任何解決方案?

乾杯, 馬克添

+1

認真嗎?保守你的祕密*祕密*。這就是所謂的那個原因。 – Blorgbeard 2014-11-05 02:54:02

+0

@Mark Thien你有沒有得到答案?你介意分享嗎? – Yogesh 2014-11-17 05:19:19

+0

@Blorgbeard - 一點都不真實。一個*共享*祕密就是這樣。永遠不要泄露主祕密。許多API像這樣使用共享的祕密。將編程中使用的詞彙轉換爲文字定義是徒勞的。 – OhmzTech 2014-11-20 06:58:31

回答

0

這是完全正常的,這是怎麼Kinvey等多項服務/庫操作。您可以(也必須)將您的appKey和祕密放入您的初始化中,但是您不應該將有史以來放入您的客戶端代碼中,您的主祕密。這是任何人都可以在數據庫上執行任何事務的。

只要你正確設置你的權限,你就不需要關心安全性,這就是它們存在的原因。用戶可以創建自己的帳戶並對數據庫執行交易,但僅限於您指定的權限。這就是爲什麼你幾乎從不想將收集權限設置爲開放。默認情況下,收集權限設置爲「共享」 - 這意味着用戶可以針對自己的記錄進行書寫,並且只能對其他用戶記錄進行閱讀。