如何使用Django实现手动安全过程

问题描述 投票:0回答:1

我正在使用Django框架编写Web应用程序。该Web应用程序基于API,我正在使用Django rest_framework。我有一个安全问题:在第一页上,用户必须解决Recaptcha。解决了Recaptcha后,我的站点会向用户提供会话ID,此后,用户必须将该会话ID发布到他/她的所有API调用的主体中,并且每个API只能使用特定的会话ID调用一次。换句话说,我有一个状态机,供用户调用API,并且在每种状态下,用户都可以从该状态调用具有相应输出边缘的API。

以上所有过程的目的是防止用户爬行我的网站。 (用户无法使用会话ID多次调用API,他/她应以普通用户的身份进行操作,并且最多只能调用两次或三遍每个API)

现在,我的问题是我应该如何在Django应用程序中处理此问题?在此之前,我只是使用普通的Django会话中间件来处理会话。现在,我应该手动处理身份验证过程以及完全传递和获取会话ID,还是可以使用某种中间件来处理我的过程。

django security django-rest-framework session-cookies
1个回答
0
投票

对APIView使用自定义权限类以阻止此类请求。在此处阅读更多内容https://www.django-rest-framework.org/api-guide/permissions/#custom-permissions

© www.soinside.com 2019 - 2024. All rights reserved.