2015-12-03 54 views
0

我正在關注instructions here。 Django人員說,在我的Ajax post請求包含CSRF令牌之前運行它。使用Django CSRF的jQuery POST - 刪除X-CSRFToken標題後?

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

這工作,但我需要從頭刪除令牌我的帖子後?我不希望包括它在內的所有jQuery發佈請求,因爲我認爲它可能會泄露令牌。

那麼如何在運行POST後撤銷ajax設置?

我需要這樣做嗎?

回答

1

我不認爲你需要,因爲它會在添加標頭之前檢查它不是跨域請求。

+0

是的,這是一個很好的觀點。我想它在每個請求之前都會被設置,並且它不會在下一個請求中出現。 – Greg