【发布时间】:2016-03-08 10:16:04
【问题描述】:
我正在关注instructions here。 Django 的人说要在我的 Ajax 发布请求之前运行它以包含 CSRF 令牌。
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);
}
}
});
这可行,但我是否需要在我的 POST 之后 从标题中删除该令牌?我不希望所有 jQuery 发布请求都包含它,因为我认为它可能会泄漏令牌。
那么如何在运行 POST 后撤消 ajax 设置?
我需要这样做吗?
【问题讨论】:
标签: jquery django csrf django-csrf