2015-10-05 2 views
0

Я проходил через Anypic tutorial и часть модели данных специально, потому что я хочу построить подобное приложение. Мой вопрос заключается в том, почему я не могу удалить ограничения на разрешение и позволить классу изображений придерживаться подобных (int) и комментариев (массив строк) и не разрешать пользователям приложения редактировать изображения других пользователей. Каковы могут быть недостатки такого подхода?Объединение классов в проект Anypic project

Спасибо

ответ

1

Ограничения на доступ к безопасности.

Отделяя likes от класса Photo, он не позволяет другим пользователям изменять чужие фотографии. Способ управления списками контроля доступа (Parse ACLs) - это ограничение доступа к чтению/записи.

Рассмотрим сценарий, который likes содержится в классе Photo. Если одному пользователю захочется понравиться чужую фотографию, им необходимо будет изменить фотографию пользователя напрямую, что потребует разрешения на запись в ACL.

Ничего страшного, не так ли? Неправильно. Кто-то со злым умыслом может структурировать свои собственные вызовы API REST в ваше приложение и выполнять любые действия, которые они хотят на чужих фотографиях. Я мог удаленно изменять или удалять ваши фотографии, обманывать дополнительные симпатии и массу других эксплойтов в зависимости от остальной части вашего приложения.

Если вы все еще хотите сохранить likes в классе Photo, но не имеете открытого доступа для записи, тогда всякий раз, когда кто-то пытается любить фотографию, вам нужно будет выполнить запись в облачном коде с помощью главного ключа. Вам также нужно будет сделать дополнительную проверку заранее, чтобы кто-то другой не смог подделать этот запрос.

Parse ACLs великолепны, потому что они невероятно просты и позволяют вам разделить доступ для чтения и записи по мере необходимости в вашем приложении.

+0

Большое вам спасибо. Я не думал о проблемах безопасности, связанных с предоставлением доступа к классу. –

Смежные вопросы