美文网首页
Django REST framework 框架下 CSRF 问

Django REST framework 框架下 CSRF 问

作者: SingleDiego | 来源:发表于2018-04-26 16:50 被阅读195次

    原文链接

    要在 REST 框架使用 POSTPUT 等方法,需要在 HTTP 头的 X-CSRFToken 带上 CSRF 信息。

    我们的做法是先引入一个 Cookie 库:https://github.com/js-cookie/js-cookie/

    然后添加上以下代码:

    var csrftoken = Cookies.get('csrftoken')
    
    function csrfSafeMethod(method) {
        // these HTTP methods do not require CSRF protection
        return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
    }
    
    jQuery.ajaxSetup({
        beforeSend: function(xhr, settings) {
            if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
                xhr.setRequestHeader("X-CSRFToken", csrftoken);
            }
        }
    });
    

    相关文章

      网友评论

          本文标题:Django REST framework 框架下 CSRF 问

          本文链接:https://www.haomeiwen.com/subject/lsqmlftx.html