3

Parse我在 Heroku 上部署了一个服务器。但是当我创建一个演示应用程序时,我使用 Charles 来捕获网络,我看到它显示Application IDClient ID. 有了这些信息,其他开发人员可以访问我班级中的数据、编写垃圾数据、使用垃圾数据创建垃圾类……我该如何防止这种情况发生?

我可以通过在 Cloud Code 中beforeSave实现防止他们写入垃圾数据或删除我的数据。beforeDelete但是当他们读取数据时,以及当他们使用垃圾数据创建垃圾类时呢?

4

2 回答 2

2

我想如果其他开发人员在您的团队中并且他们对应用程序具有与您相同的访问权限,那么您可以做的事情并不多。如果您的意思是用户,那么我要做的第一件事parse-server就是设置类级别权限。由于还没有仪表板,因此必须手动完成。签出_Schema数据库中的集合。它将有一个_metadata看起来像这样的字段:

// Public read, private write
"_metadata": {
  "class_permissions": {
    "get": {"*": true},
    "find": {"*": true},
    "update": {},
    "create": {},
    "delete": {},
    "addField": {},
    "readUserFields": [],
    "writeUserFields": []
  }
}

还有基于角色、用户和对象的安全选项。这些可以像以前一样在代码中设置,您可以看到更改如何影响对象。以下是一些示例值:

{
  "_id": "0CjkfC3MCO",
  "_acl": {
    "*": {"r": true},
    "role:store": {"w": true}
  },
  "_rperm": ["*"],
  "_wperm": ["role:admin"],
  "_updated_at": ISODate("2016-02-25T02:26:49.179Z"),
  "_created_at": ISODate("2015-08-07T19:47:42.008Z")
}
于 2016-02-26T23:33:05.110 回答
0

为避免创建垃圾类,请在解析服务器设置/环境中将允许用户类创建设置为 false。

使用敏感对象/类配置 ACL 访问 - 您可以在那里设置读/写访问。

在解析服务器设置中禁用匿名用户,只有注册用户才能使用服务器。

关于数据,验证 beforeSave/afterSave 触发器中的所有数据。

于 2018-09-13T06:38:58.187 回答