LINUX.ORG.RU

Как правильно защитить данные с django

 


0

1

В таблице имеется дополнительное поле profile_id, хранящее уникальное id профиля пользователя. Пользуюсь представление на базе UpdateView. От редактирования данные удается защитить так:

class MyFormUpdate(LoginRequiredMixin,generic.UpdateView):
    model = Employee
    def form_valid(self, form):
        profile_id = ...
        record_id  = ...
        if profile_id == record_userprofile_id:
            return super(MyFormUpdate, self).form_valid(form)
        else:
           raise Http404(u"Как вам не стыдно %s" % self.request.user.get_username() )

Работает, редактировать чужие данные нельзя. Но, просмотреть чужие записи можно, перебирая числа:

myapp1/profile/update/Число

Число, как положено в стандартных View - это номер записи в таблице.

Как от этого защитить?

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.