关于django的csrftoken检验
CSRF介绍
https://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/index.html
项目中的csrf坑
用django自带的用户系统登录后会在cookie生成一个sessionid保持用户登录状态,同时生成一个csrftoken防止csrf攻击
由于有这个csrftoken的机制,前端登录后,想调用后端api或者通过sessionid认证用户信息时,有时候就会报错
CSRF Token missing or incorrect
解决办法
前端发送请求时在request添加头部
X-CSRFToken,值为cookie中的csrftoken
若后端csrftoken跳异常,可尝试1
2from django.template.context_processors import csrf
csrf(request)
网上也有说法可以用1
@csrf_exempt
修饰报错的函数,忽略csrf
或者在settings.py中注释掉
‘django.middleware.csrf.CsrfViewMiddleware’,