django为用户实现防止跨站请求伪造的功能
需要配置settings.py:
django.middleware.csrf.CsrfViewMiddleware
1. form表单提交
<form action="/logi/" method="POST">
{% csrf_token %} #需要在form表单中添加{% csrf_token %}
<input type="text" name="user"/>
<input type="text" name="pwd"/>
<input type="checkbox" name="rmb" value="1" /> 10秒免登陆
<input type="submit" value="提交"/>
</form>
2. ajax方式提交
js使用ajax来提交数据,在其中加入csrf
<script src="/static/jquery.min.js"></script>
<script src="/static/jquery.cookie.js"></script>
<script>
$(function () {
$(‘#btn‘).click(function () {
$.ajax({
url: ‘/logi/‘,
type: "POST",
data: {‘user‘: ‘root‘, ‘pwd‘: ‘123‘},
headers: {‘X-CSRFtoken‘: $.cookie(‘csrftoken‘)}, #设置csrftoken到http响应头中,其中键是X-CSRFtoken是django固定的
success:function(arg){
}
})
})
})
</script>