@method_decorator(login_required, name='dispatch')
class CategoryDeleteView(DeleteView):
model = Category
template_name = 'board/delete.html'
success_url = reverse_lazy('category-list')
path('category/<int:pk>/delete', CategoryDeleteView.as_view(),name='category-delete')如果攻击者使用随机类别id从登录的用户浏览器运行脚本,我们将如何在Django或Django rest框架中防止此类攻击
发布于 2021-01-23 16:42:20
在DRF中,您可以做的一件事是为用户指定一个允许对象的查询集。这样,当尝试检索/删除不属于他的对象时,他将得到404 not found响应。例如:
class CategoryDeleteView(viewsets.ModelViewSet):
def get_queryset(self):
return Category.objects.filter(user=self.request.user)同样的事情也适用于普通的Django视图(指定一个预先过滤的查询集,并且只允许用户查询)。
https://stackoverflow.com/questions/65845928
复制相似问题