iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Django cors跨域问题怎么解决
  • 225
分享到

Django cors跨域问题怎么解决

2023-07-02 12:07:46 225人浏览 安东尼
摘要

这篇文章主要介绍“Django cors跨域问题怎么解决”,在日常操作中,相信很多人在DjanGo cors跨域问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Django&nb

这篇文章主要介绍“Django cors跨域问题怎么解决”,在日常操作中,相信很多人在DjanGo cors跨域问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Django cors跨域问题怎么解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Django cors跨域问题

后端分离项目中的跨域问题 即同源策略

同源策略:同源策略/SOP(Same origin policy)是一种约定,由 Netscape 公司 1995 年引入浏览器,它是浏览器最核心也最基本的安全功能,现在所有支持 javascript 的浏览器都会使用这个策略。如果缺少了同源策略,浏览器很容易受到 XSS、 CSFR 等攻击。

同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个 ip 地址,也非同源。

源就是协议、域名和端口号。

协议:Http,https

跨域:前端请求URL的协议、域名、端口与前端页面URL不同就是跨域

在Django中解决跨域问题

一、

# 1、安装第三方库 django-cors-headers# 2、在settings.py中添加'corsheaders.middleware.CorsMiddleware',在SessionMiddleware和CommonMiddleware的中间# 3、在INSTALLED_APPS里添加“corsheaders”INSTALLED_APPS = [    'search.apps.SearchConfig',    'data.apps.DataConfig',    'record_data.apps.RecordDataConfig',    'deleted_data.apps.DeletedDataConfig',    'mgmt.apps.MgmtConfig',    'c_test.apps.CTestConfig',    'rest_framework',    'django.contrib.admin',    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.messages',    'django.contrib.staticfiles',    'corsheaders',  # 新增]# 4、在中间件中添加corsheaders.middleware.CorsMiddleware,django.middleware.common.CommonMiddlewareMIDDLEWARE = [    # 'utils.middleware.ExceptionMiddleware',    'django.middleware.security.SecurityMiddleware',    'django.contrib.sessions.middleware.SessionMiddleware',    'corsheaders.middleware.CorsMiddleware',  # 新增/必须在common中间件上面    'django.middleware.common.CommonMiddleware',    # 'django.middleware.csrf.CsrfViewMiddleware',    'django.contrib.auth.middleware.AuthenticationMiddleware',    'django.contrib.messages.middleware.MessageMiddleware',    'django.middleware.clickjacking.XFrameOptionsMiddleware',]# 5、在settings.py底部增加CORS_ALLOW_CREDENTIALS = True  # 允许携带cookieCORS_ORIGIN_ALLOW_ALL = True  # 放行所有CORS_ORIGIN_WHITELIST = ('*')  # 白名单# CORS_ALLOW_METHODS:字符串列表,允许用哪些HTTP请求方法。CORS_ALLOW_METHODS = (    'DELETE',    'GET',    'OPTIONS',    'PATCH',    'POST',    'PUT',    'VIEW',)# CORS_ALLOW_HEADERS:字符串列表,允许使用哪些非标准HTTP请求头。CORS_ALLOW_HEADERS = (    'accept',    'accept-encoding',    'authorization',    'content-type',    'dnt',    'origin',    'user-agent',    'x-csrftoken',    'x-requested-with',)

二、

# 可以自己注册一个中间件,在中间件process_response方法中对response进行封装def process_response(self, request, response):    response["Content-Type"] = "application/JSON"  # 响应信息的内容格式    response["Access-Control-Allow-Origin"] = "*"  # 允许跨域请求的源地址, * 表示:允许所有地址    response["Access-Control-Allow-Methods"] = "POST, GET, OPTIONS"  # 允许跨域请求的具体方法    response["Access-Control-Max-Age"] = "1000"  # 用来指定本次预检请求的有效期,单位为秒,,在此期间不用发出另一条预检请求。    response["Access-Control-Allow-Headers"] = "*"    return response

跨域实现流程为

浏览器会第一次先发送options请求询问后端是否允许跨域,后端查询白名单中是否有这两个域名

如过域名在白名单中则在响应结果中告知浏览器允许跨域

浏览器第二次发送post请求,携带用户登录数据到后端,完成登录验证操作

到此,关于“Django cors跨域问题怎么解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Django cors跨域问题怎么解决

本文链接: https://www.lsjlt.com/news/341826.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 解决Django cors跨域问题
    Django cors跨域问题 前后端分离项目中的跨域问题 即同源策略 同源策略:同源策略/SOP(Same origin policy)是一种约定,由 Netscape 公司 19...
    99+
    2024-04-02
  • Django cors跨域问题怎么解决
    这篇文章主要介绍“Django cors跨域问题怎么解决”,在日常操作中,相信很多人在Django cors跨域问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Django&nb...
    99+
    2023-07-02
  • jsonp和CORS跨域请求问题怎么解决
    这篇文章主要讲解了“jsonp和CORS跨域请求问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jsonp和CORS跨域请求问题怎么解决”吧!JSONPjsonp 的原理很简单,利...
    99+
    2023-06-02
  • 跨域(CORS)问题的解决方案分享
    目录前后端分离项目,如何解决跨域问题什么是跨域问题跨域问题演示及解决点击前端登录按钮覆盖默认的CorsFilter来解决该问题重新运行代码,点击登录按钮设置SpringSecurit...
    99+
    2023-02-13
    cors跨域问题 CORS跨域解决方案 CORS解决跨域的几种实现方式
  • Quarkus中filter过滤器跨域cors问题怎么解决
    本篇内容介绍了“Quarkus中filter过滤器跨域cors问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言Quarkus中...
    99+
    2023-06-29
  • django跨域问题如何解决
    Django跨域问题可以通过以下几种方法来解决:1. 使用Django的CORS插件:可以通过安装django-cors-heade...
    99+
    2023-09-26
    Django
  • 快速解决跨域请求问题:jsonp和CORS
    网上各种跨域教程,各种实践,各种问答,除了简单的 jsonp 以外,很多说 CORS 的都是行不通的,老是缺那么一两个关键的配置。本文只想解决问题,所有的代码经过亲自实践。本文解决跨域中的 get、post、data、cookie 等这些问...
    99+
    2023-05-30
    jsonp 跨域问题 cors跨域请求
  • Django解决跨域请求的问题
    一、引入   对于想要利用django框架实现前后端分离的童鞋来说,首要的问题便是解决跨域请求的问题。何为跨域请求?简单来说,就是当前发起的请求的域与该请求指向的资源所在的域不一致。当协议+域名+端口号均相同,那么就是同一个域。举个例子...
    99+
    2023-01-30
    Django
  • Nginx如何解决前端跨域问题以及CORS跨域配置
    Nginx如何解决前端跨域问题以及CORS跨域配置,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Nginx的CORS配置,网上太多这配置了,但大家更多的复制粘贴...
    99+
    2023-06-04
  • 如何解决Django+vue跨域问题
    小编给大家分享一下如何解决Django+vue跨域问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!跨域由于开发模式为前后端分离...
    99+
    2024-04-02
  • Quarkus中filter过滤器跨域cors问题解决方案
    目录前言web依赖过滤器filter开发resteasy的filtervertx的filterQuarkus中的跨域前言 Quarkus中的web模块是基于java标准web规范ja...
    99+
    2024-04-02
  • django框架进阶-解决跨域问题
    在Django框架中,可以通过以下方法解决跨域问题:1. 使用django-cors-headers库:django-cors-he...
    99+
    2023-09-01
    django
  • Node.js基于cors解决接口跨域的问题(推荐)
    目录解决问题使用express编写get/post接口构造服务器并将接口写入在html页面中发起get/post请求:接口的跨域问题使用cors中间件解决跨域问题了解问题什么是COR...
    99+
    2022-11-13
    Node.js cors解决接口跨域 Node.js 接口跨域
  • Nodejs如何解决跨域(CORS)
    目录Nodejs解决跨域(CORS)手动配置CORS模块axiosNodejs CORS跨域问题总结Nodejs解决跨域(CORS) 前后端分离的大环境下,受制于同源策略,我们需要懂...
    99+
    2023-01-17
    Nodejs跨域 Nodejs解决跨域 Nodejs CORS
  • 如何解决Spring boot 和Vue开发中CORS跨域问题
    这篇文章主要介绍如何解决Spring boot 和Vue开发中CORS跨域问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 遇到的问题:我用spring-boot 做Rest服...
    99+
    2024-04-02
  • vue跨域问题怎么解决
    1、可以在后端服务器中进行配置,允许指定的域名或IP地址访问后端API,这样就可以解决跨域问题。常用的方法是在服务器端添加CORS(...
    99+
    2023-05-13
    vue跨域问题 vue
  • react跨域问题怎么解决
    在 React 中解决跨域问题通常有以下几种方法:1. 设置代理:在开发环境中,可以通过设置代理服务器来解决跨域问题。可以在 `pa...
    99+
    2023-08-19
    react
  • 怎么解决WebSocket跨域问题
    怎么解决WebSocket跨域问题?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。WebSocket通信是点对点:一是建立WebSocket链接的URL加上时间戳保证通信会话是唯...
    99+
    2023-06-09
  • ajax跨域问题怎么解决
    在Ajax请求中,由于浏览器的同源策略限制,如果请求的域名、端口或协议与当前页面不同,则会出现跨域问题,无法正常获取数据。以下是几种...
    99+
    2023-05-13
    ajax跨域问题 ajax
  • 怎么解决ajax跨域问题
    本篇内容主要讲解“怎么解决ajax跨域问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决ajax跨域问题”吧!什么是ajax跨域ajax跨域的原理aja...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作