我在 Heroku 上部署了一个 Parse
服务器。但是当我创建一个演示应用程序时,我使用 Charles 来捕获网络,我看到它显示了 Application ID
和 Client ID
。有了这些信息,其他开发人员就可以访问我的类中的数据、编写垃圾数据、使用垃圾数据创建垃圾类……我该如何防止这种情况发生?
我可以通过在 Cloud Code 中实现 beforeSave
、beforeDelete
来防止他们写入垃圾数据或删除我的数据。但是当他们读取数据时,以及当他们用垃圾数据创建垃圾类时呢?
最佳答案
我想如果其他开发人员在您的团队中并且他们与您具有相同的应用访问权限,那么您无能为力。如果您指的是用户,那么我要保护 parse-server
的第一件事就是设置 class level permissions .由于没有仪表板,因此必须手动完成。检查数据库中的 _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")
}
关于ios - 如何防止其他开发者破坏我们的 Parse 服务器数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35609766/