最近在写登陆注册时用到Postman来模拟提交表单,因为Django自带的CSRF保护机制,需要在所有的POST请求中附带上csrftoken,所以进行模拟发送POST请求时会一直显示403错误,并且在控制台中也会显示下面错误提示
1 | Forbidden (CSRF token missing or incorrect.) |
经过测试,发现只有通过浏览器去访问Django服务器时才会获取到这个’csrftoken’,如果Django站点只提供API而没有页面的话,就没有办法使用这个保护机制.
只是为了前期的测试,可以注释掉settings.py中的中间键来取消这个验证
1 | # 'django.middleware.csrf.CsrfViewMiddleware', |
这样看来,开发一个纯提供API的服务器,使用Django是无法提供安全保护的,需要使用其他途径来实现保护.