django与vue开发中跨域请求问题

本文探讨了CSRF跨站请求伪造攻击及其在django框架中的防范措施。针对axios在发送请求时的默认行为,需要全局设置以携带cookie处理跨域问题。而在django端,通过安装和配置django-cors-headers中间件来允许跨域请求。
摘要由CSDN通过智能技术生成

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。所以django框架会对跨域进行保护。以下是解决办法:

对于axios

axios 默认是不发送cookie,跨域也是一个原因,需要全局设置。我们需要在引入axios后进行如下设置:

axios.defaults.withCredentials = true
对于django

安装django-cors-headers,详情请看官方文档

pip install django-cors-headers

配置settings.py文件

a.在INSTALLED_APPS里添加“corsheaders”

INSTALLED_APPS = [
    ...
    'corsheaders&#
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值