我使用parse而不是Firebase,原因很明显,我想知道如何保护我的代码。由于主密钥和ID都存在于客户端,因此很容易被提取和滥用。如何进一步保护我的应用程序,并且不让客户端访问密钥?
根据解析服务器文档,您的主密钥不应该发送到客户端,而应该发送到服务器端:
masterKey(必需(-用于覆盖ACL安全性的主密钥。您可以使用任意字符串。保守秘密!对于迁移的应用程序,这应该与托管的Parse应用程序相匹配。
以及此处:
- 仅在服务器上使用;将主密钥分发给客户端意味着任何人都可以编辑您的数据
- 要使用它,需要在初始化时提供:Parse.initialize(applicationKey,optionalJSKey,masterKey(
- 要将其用于所有请求,请调用Parse。Cloud.useMasterKey((
- 要将其用于单个请求,请在可选权限对象中提供useMasterKey:true,该对象作为任何服务器调用的最终参数传递,例如:myObject.save({},{useMasterKey:true}(
您在客户端使用主密钥做什么?可能还有其他方法来完成任务。
编辑:根据这里,initialize((的第二个参数是javascript键,而不是主键。您是否尝试过在服务器端配置javascript密钥并使用它?
编辑2:使用访问控制列表来限制客户端对服务器数据的访问。