在Anypic示例项目

时间:2015-10-05 12:19:26

标签: parse-platform backend

我正在浏览Anypic tutorial和数据模型部分,因为我想构建一个类似的应用程序。我的问题是为什么我不能删除权限限制并让图像类包含likes(int)和注释(字符串数组),并且不允许应用程序的用户编辑其他用户图像。这种方法的缺点是什么?

谢谢

1 个答案:

答案 0 :(得分:1)

为了安全起见,有许可限制。

通过将likesPhoto类分开,可以防止其他用户修改其他人的照片。解析ACL(访问控制列表)的工作方式是限制读/写访问。

让我们考虑likes类中包含Photo的情况。如果一个用户想要喜欢别人的照片,则他们必须直接修改用户的照片,这需要ACL中的写入权限。

没什么大不了的吧?错误。有恶意的人可以为您的应用构建自己的REST API调用,并对其他人的照片执行他们想要的任何操作。我可以根据您应用的其余部分远程修改或删除您的照片,欺骗其他喜欢以及大量其他漏洞利用。

如果您仍希望将likes保留在Photo类中,但不具有公共写入权限,那么每当有人想要照片时,您都必须使用云代码执行写入主密钥。您还需要事先进行额外验证,以便其他人无法欺骗此请求。

解析ACL很棒,因为它们非常简单,并且可以快速允许您根据需要在应用程序中划分读/写访问权限。