【问题标题】:How to use CSRF security for a backend django for an mobile application client如何为移动应用程序客户端的后端 django 使用 CSRF 安全性
【发布时间】:2020-06-05 22:41:53
【问题描述】:

我正在使用 Django 为移动应用程序开发一个后端,用于用户注册的用户数据是使用 POST 方法发送的。由于 Django 提供 CSRF 安全性作为中间件。这里我的问题是,如果我有前端,我可以通过 jinja 代码启用 CSRF 令牌 {% csrf_token %} 但由于它是后端以及如何解决此问题

【问题讨论】:

    标签: django backend csrf


    【解决方案1】:

    要防范此类攻击,您需要做两件事: 1 确保“安全”HTTP 操作(例如 GET、HEAD 和 OPTIONS)不能用于更改任何服务器端状态。 2 确保任何“不安全”的 HTTP 操作,例如 POST、PUT、PATCH 和 DELETE,始终需要有效的 CSRF 令牌。 如果您使用 SessionAuthentication,则需要为任何 POST、PUT、PATCH 或 DELETE 操作包含有效的 CSRF 令牌。 为了发出 AJAX 请求,您需要在 HTTP 标头中包含 CSRF 令牌,如 Django 文档中所述。

    检查此link。它准确地解释了你的方法应该是什么。

    如果您希望 POST 请求具有 csrf,基本上您需要在标头中发送 csrf 令牌。但我们不会为未经身份验证的请求请求 csrf 令牌。

    如果你还没有使用 Django Rest Framework 来创建 API,那会更好

    【讨论】:

      【解决方案2】:

      一种解决方案是删除 csrf 令牌行表单 setting.py 文件 :)

      【讨论】:

      • 但是,我还需要 CSRF 安全解决方案吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-12
      • 1970-01-01
      • 2017-04-23
      • 2012-04-03
      • 2019-04-07
      • 2016-03-15
      • 2020-09-28
      相关资源
      最近更新 更多