我正在通過Anypic tutorial和數據模型部分,因爲我想構建一個類似的應用程序。我的問題是爲什麼我不能刪除權限限制並讓圖像類保存喜歡(int)和註釋(字符串數組),並且不允許應用的用戶編輯其他用戶圖像。這種方法的缺點是什麼?Anypic示例項目中的類合併
謝謝
我正在通過Anypic tutorial和數據模型部分,因爲我想構建一個類似的應用程序。我的問題是爲什麼我不能刪除權限限制並讓圖像類保存喜歡(int)和註釋(字符串數組),並且不允許應用的用戶編輯其他用戶圖像。這種方法的缺點是什麼?Anypic示例項目中的類合併
謝謝
權限限制是爲了安全。
通過從Photo
類別中分離likes
,它可以防止其他用戶修改他人的照片。解析ACL(訪問控制列表)的工作方式是限制讀/寫訪問。
讓我們考慮一下likes
包含在Photo
類中的場景。如果一個用戶想要喜歡別人的照片,他們將不得不直接修改用戶的照片,這需要ACL中的寫入權限。
沒什麼大不了的,對嗎?錯誤。有惡意的人可以將他們自己的REST API調用構建到您的應用程序,並在他人的照片上執行他們想要的任何操作。我可以遠程修改或刪除您的照片,根據您的其他應用程序欺騙更多喜歡,以及大量其他漏洞利用。
如果您仍然希望在Photo
類中保留likes
,但沒有公共寫入權限,那麼無論何時有人想要照片,您都必須使用主密鑰執行雲代碼寫入。您還需要事先做額外的驗證,以便其他人無法欺騙此請求。
解析ACL很棒,因爲它們非常簡單並且可以快速地根據需要在應用程序中劃分讀/寫訪問權限。
非常感謝。我沒有想到涉及允許任何人訪問課程的安全問題。 –