csrf跨域伪造攻击:使用当前浏览器还在生效状态的cookie对指定网站进行操作。最初针对的是银行网站的转账。

Django本身会对csrf进行校验,在django的1.4版本之前,csrf默认关闭,需要在settings当中手动开启,在1.4之后,默认开启

在django的任何post请求,都会在请求之初,给用户下发一串用来校验身份的编码,并且每次请求不一样。

如果不加csrf_token校验,会发生csrf错误

使用django的csrf校验
1、返回post登陆页面的时候要用render方法,render方法和render_to_response方法的功能类似,但是会在第一个参数返回request,如果不返还,前端无法调用 {% csrf_token %}

2、在form表单内部的第一行,插入csrf校验,使用{% csrf_token %}

{% csrf_token %}标签实际上就是在前端的form表单当中生成了一个hidden隐藏域,name为csrfmiddlewaretoken,value是csrf校验的值

存入数据库的步骤和get请求类似

本文介绍了Django中CSRF跨站请求伪造攻击的原理及防护措施。从1.4版本开始,Django默认开启了CSRF保护,通过在POST请求中加入唯一的csrf_token来确保请求的有效性。文章详细说明了如何在Django应用中正确使用csrf_token。
260

被折叠的 条评论
为什么被折叠?



