解析服务器可疑的万能密钥

时间:2018-07-29 19:15:37

标签: parse-server

出于明显的原因,我想使用解析而不是Firebase,我想知道如何保护我的代码。 由于主键和ID都存在于客户端,因此很容易提取和滥用。我如何才能进一步保护我的应用程序,并且不让客户端访问密钥?

1 个答案:

答案 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以限制客户端访问服务器数据。