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