Django-website 程序案例系列-1 CSRF

Posted 划得戳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django-website 程序案例系列-1 CSRF相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

Django-website 程序案例系列-4 ORM数据库操作

Django-website 程序案例系列-10 验证装饰器

Django-website 程序案例系列-17 forms表单验证的字段解释

Django-website 程序案例系列-6 html模板文件详解

Django-website 程序案例系列-16 modle.form(表单验证)

Django-website 程序案例系列-15 singnal分析