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>
Django-website 程序案例系列-1 CSRF
原文地址:http://www.cnblogs.com/kuku0223/p/8087239.html