首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在django中防止/保护来自任何攻击者delete请求方法

如何在django中防止/保护来自任何攻击者delete请求方法
EN

Stack Overflow用户
提问于 2021-01-22 21:16:47
回答 1查看 23关注 0票数 1
代码语言:javascript
运行
复制
@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框架中防止此类攻击

EN

回答 1

Stack Overflow用户

发布于 2021-01-23 16:42:20

在DRF中,您可以做的一件事是为用户指定一个允许对象的查询集。这样,当尝试检索/删除不属于他的对象时,他将得到404 not found响应。例如:

代码语言:javascript
运行
复制
class CategoryDeleteView(viewsets.ModelViewSet):

    def get_queryset(self):
        return Category.objects.filter(user=self.request.user)

同样的事情也适用于普通的Django视图(指定一个预先过滤的查询集,并且只允许用户查询)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65845928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档