【问题标题】:django csrf in mobile apps移动应用程序中的 django csrf
【发布时间】:2014-06-26 09:11:22
【问题描述】:

我正在开发一个Android应用程序,在服务器端使用django1.6, 我想将一些数据发布到服务器。但它显示错误 403。

我必须做些什么来克服错误(CSRF 令牌丢失或不正确)?

去掉 csrf 中间件是不是个好主意 (从设置文件中删除django.middleware.csrf.CsrfViewMiddleware)?

如果不是,有什么替代解决方案=

【问题讨论】:

    标签: python django csrf django-1.6


    【解决方案1】:

    这个问题不是 django 特有的。如果您搜索CSRF Restful,您会发现很多关于此的问题和答案。例如this one

    在基本层面上,我会说 CSRF 是一种解决影响浏览器用户的安全问题的机制。因此,使用移动应用程序的人不太可能受此影响。

    您应该为从 Web 浏览器访问您的应用程序的人保留 CSRF 层,并创建不同的方案以从其他类型的客户端访问您的 api。

    【讨论】:

    • 我们也计划从网络浏览器访问该应用程序。那该怎么办?
    【解决方案2】:

    是的,这是个好主意,因为移动后端不需要它, 但只是删除

    'django.middleware.csrf.CsrfViewMiddleware'
    

    还不够,你需要添加你自己的中间件,这将禁用 CSRF。

    这里解决http://www.soyoucode.com/2011/really-disable-csrf-django

    【讨论】:

      猜你喜欢
      • 2014-03-06
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      • 2016-09-15
      • 2018-02-09
      • 2013-04-28
      • 1970-01-01
      • 2013-11-16
      相关资源
      最近更新 更多