Django Can';启用CSRF_COOKIE_SECURE时,不从JavaScript发送post请求

Django Can';启用CSRF_COOKIE_SECURE时,不从JavaScript发送post请求,django,vue.js,Django,Vue.js,API端点:/API/items/具有身份验证\u类=(会话身份验证,) 在我的Vue.js代码中,我有: getCookie: function (name) { match = document.cookie.match(new RegExp(name + '=([^;]+)')); if (match) return match[1]; return }, ... saveApiCall: function (data) { this.$http.post(

API端点:
/API/items/
具有
身份验证\u类=(会话身份验证,)

在我的Vue.js代码中,我有:

getCookie: function (name) {
    match = document.cookie.match(new RegExp(name + '=([^;]+)'));
    if (match) return match[1];
    return
},
...
saveApiCall: function (data) {
    this.$http.post("/api/items/", data, { headers: { 'X-CSRFToken': this.getCookie('csrftoken') } }).then(function (response) {
        this.close();
    }).catch(function (response) {
        this.form_errors = response.body;
    });
},
但当我设置这些设置时,它不起作用:

CSRF_COOKIE_SECURE = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_HTTPONLY = True
csrftoken
安全时,如何发送此
$http.post
请求?

请参见:

如果[
CSRF\u COOKIE\u HTTPONLY
]设置为True,客户端JavaScript将无法访问CSRF COOKIE

将CSRF cookie指定为HttpOnly并不能提供任何实际的保护,因为CSRF只是为了防止跨域攻击。如果攻击者可以通过JavaScript读取cookie,就浏览器所知,他们已经在同一个域中,因此他们可以做任何他们喜欢的事情。(XSS是一个比CSRF大得多的孔。)

只需设置CSRF\u COOKIE\u HTTPONLY=False(或者从设置中删除它,因为这是默认设置),您就可以从JavaScript访问它