Django移动应用中的CSRF处理

0 投票
2 回答
1476 浏览
提问于 2025-04-18 11:09

我正在开发一个安卓应用,服务器端使用的是django1.6。我想把一些数据发送到服务器,但出现了403错误。

我该怎么做才能解决这个错误(提示说缺少或不正确的CSRF令牌)呢?

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

如果不是,那还有什么其他的解决办法呢?

2 个回答

0

是的,这个主意不错,因为你在移动后台中其实不需要这个东西。

但是光是删除

'django.middleware.csrf.CsrfViewMiddleware'

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

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

1

这个问题并不是特定于Django的。如果你搜索一下 CSRF Restful,你会发现很多相关的问题和答案,比如说 这个

简单来说,CSRF是一种用来解决浏览器用户安全问题的机制。因此,使用移动应用的人通常不会受到这个问题的影响。

你应该为通过网页浏览器访问你应用的用户保留CSRF保护,同时为其他类型的客户端访问你的API制定不同的方案。

撰写回答