Django之如何预防csrf功能的方式 form提交与ajax提交

1. 什么是csrf认证: 主要是防止别人恶意登录你的账户信息用的:
2. csrf认证在django的实现方式: 分为两种, 一种是from表单提交的方式,另一种是ajax提交实现方式
前端:
<a href="/user_order/">订单详情</a>
<form action="/get_money/" method="post">
    {% csrf_token %}
    <input type="submit" value="取钱">

</form>
#######以上是通过form 表单提交的方式加载csrf认证功能
button class="btn">ajax取钱</button>
</body>
<script src="/static/jquery-3.3.1.js"></script>     #通过ajax方式需要加载jq和cookie组件
<script src="/static/jquery.cookie.js"></script>
<script>

    token = $.cookie('csrftoken');
    $('.btn').click(function () {
        $.ajax({
            url: '/get_money/',
            type: 'post',
            headers:{'X-CSRFToken': token},     #这是在头中定义csrf认证系统
            {#data: {#}
            {#    'csrfmiddlewaretoken': token#}    #这是在发送数据中加入认证
            {# },#}
            success: function (data) {
                alert(data)
            }
        })

    })
</script>

猜你喜欢

转载自www.cnblogs.com/gukai/p/10776180.html
今日推荐