2014-11-05 141 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和秘密放入您的初始化中,但是您不应该将有史以来放入您的客户端代码中,您的主秘密。这是任何人都可以在数据库上执行任何事务的。

只要你正确设置你的权限,你就不需要关心安全性,这就是它们存在的原因。用户可以创建自己的帐户并对数据库执行交易,但仅限于您指定的权限。这就是为什么你几乎从不想将收集权限设置为开放。默认情况下,收集权限设置为“共享” - 这意味着用户可以针对自己的记录进行书写,并且只能对其他用户记录进行阅读。