【问题标题】:Volley set CSRF token in POST header requestVolley 在 POST 标头请求中设置 CSRF 令牌
【发布时间】:2017-11-29 01:46:07
【问题描述】:
我正在使用 django 作为我的 android 应用程序的后端。我必须发出一些我需要 CSRF 令牌的帖子请求。
首先,我向后端发出 get 请求以获取 CSRF 令牌,然后在下一个 POST 请求中,我使用在前一个请求中获得的 csrf。我通过覆盖 JSON 请求的 getHeaders 方法来做到这一点。
我仍然在后端收到 csrf 验证失败。这个方法错了吗?
还有其他方法吗?
【问题讨论】:
标签:
android
django
android-volley
【解决方案1】:
这是一个迟到的答案。无论如何,如果有人偶然发现这里寻找任何答案,我会在这里添加一种方法:)
您可以使用 csrf_exempt。它将免除 CSRF 考虑的观点。我不确定这是否存在重大安全风险,但它确实有效。
from django.views.decorators.csrf import csrf_exempt
# Create your views here.
from django.http import HttpResponse
@csrf_exempt
def homePageView(request):
data = request.POST.get('data')
return HttpResponse(data)
更多信息here!