2015-10-05 85 views
0

我正在通過Anypic tutorial和數據模型部分,因爲我想構建一個類似的應用程序。我的問題是爲什麼我不能刪除權限限制並讓圖像類保存喜歡(int)和註釋(字符串數組),並且不允許應用的用戶編輯其他用戶圖像。這種方法的缺點是什麼?Anypic示例項目中的類合併

謝謝

回答

1

權限限制是爲了安全。

通過從Photo類別中分離likes,它可以防止其他用戶修改他人的照片。解析ACL(訪問控制列表)的工作方式是限制讀/寫訪問。

讓我們考慮一下likes包含在Photo類中的場景。如果一個用戶想要喜歡別人的照片,他們將不得不直接修改用戶的照片,這需要ACL中的寫入權限。

沒什麼大不了的,對嗎?錯誤。有惡意的人可以將他們自己的REST API調用構建到您的應用程序,並在他人的照片上執行他們想要的任何操作。我可以遠程修改或刪除您的照片,根據您的其他應用程序欺騙更多喜歡,以及大量其他漏洞利用。

如果您仍然希望在Photo類中保留likes,但沒有公共寫入權限,那麼無論何時有人想要照片,您都必須使用主密鑰執行雲代碼寫入。您還需要事先做額外的驗證,以便其他人無法欺騙此請求。

解析ACL很棒,因爲它們非常簡單並且可以快速地根據需要在應用程序中劃分讀/寫訪問權限。

+0

非常感謝。我沒有想到涉及允許任何人訪問課程的安全問題。 –