Фильтруйте объект одновременно по его ID и владельцу из проверенной сессии пользователя. Это не позволяет получить чужой объект только подменой параметра URL.
Вы затронули важный момент фильтрации на уровне базы и связывания с владельцем. Можете привести пример кода, как именно вы реализуете такой запрос в Django ORM?
Фильтруйте объект одновременно по его ID и владельцу из проверенной сессии пользователя. Это не позволяет получить чужой объект только подменой параметра URL.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Фильтруйте объект одновременно по его ID и владельцу из проверенной сессии пользователя. Это не позволяет получить чужой объект только подменой параметра URL.
from django.shortcuts import get_object_or_404
def detail(request, document_id):
document = get_object_or_404(
Document,
pk=document_id,
owner=request.user,
)
return document
Document — пример модели, а возврат объекта здесь схематичен: view должен сформировать HTTP-ответ. До запроса требуется аутентификация. Для командного доступа вместо простого owner применяйте явно заданную membership/policy; не принимайте owner_id от клиента как доказательство права.