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>
时间: 2024-10-02 14:02:48