编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

jquery-django项目的csrf保护导致ajax请求返回403

wxchong 2024-08-25 16:31:44 开源技术 10 ℃ 0 评论

前言

django项目默认就启动了csrf保护,这样子可以保证网站的安全,但是我们有些页面是需要使用ajax进行请求的,怎么破呢?


jquery.cookie

jquery.cookie是一个简单的、轻量级的jQuery插件读、写和删除cookie。

在页面添加脚本路径和ajax设置:

<script type="text/javascript" src="/static/js/jquery.min.js"></script>

<script type="text/javascript" src="/static/js/jquery.cookie.js"></script>

<scripts>

var csrftoken = $.cookie('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);

}

}

});

</scripts>

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表