我正在开发一个 Android 应用程序,在服务器端使用 django1.6,我想将一些数据发布到服务器。但它显示错误403。
我必须做些什么来克服错误(CSRF 令牌丢失或不正确)?
删除 csrf 中间件(django.middleware.csrf.CsrfViewMiddleware
从设置文件中删除)是个好主意吗?
如果不是,什么是替代解决方案=
我正在开发一个 Android 应用程序,在服务器端使用 django1.6,我想将一些数据发布到服务器。但它显示错误403。
我必须做些什么来克服错误(CSRF 令牌丢失或不正确)?
删除 csrf 中间件(django.middleware.csrf.CsrfViewMiddleware
从设置文件中删除)是个好主意吗?
如果不是,什么是替代解决方案=
这个问题不是 django 特有的。如果您搜索CSRF Restful
,您会发现许多关于此的问题和答案。例如这个
在基本层面上,我会说 CSRF 是一种解决影响浏览器用户的安全问题的机制。因此,使用移动应用程序的人不太可能受此影响。
您应该为从 Web 浏览器访问您的应用程序的人保留 CSRF 层,并创建不同的方案以从其他类型的客户端访问您的 api。
是的,这是个好主意,因为移动后端不需要它,而只是删除
'django.middleware.csrf.CsrfViewMiddleware'
还不够,您需要添加自己的中间件,这将禁用 CSRF。
这里解决方案http://www.soyoucode.com/2011/really-disable-csrf-django