位置: IT常识 - 正文

【跨域】一篇文章彻底解决跨域设置cookie问题!(跨域的几种方法)

编辑:rootadmin
【跨域】一篇文章彻底解决跨域设置cookie问题! 一篇文章彻底解决跨域设置cookie问题!

推荐整理分享【跨域】一篇文章彻底解决跨域设置cookie问题!(跨域的几种方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:跨域有什么用,跨域以及解决方案,跨域以及解决方案,跨域的问题怎么解决,跨域以及解决方案,跨域以及解决方案,跨域的解决,跨域会出现什么问题,内容如对您有帮助,希望把文章链接给更多的朋友!

大家好我是雪人~~⛄

之前做项目的时候发现后端传过来的 SetCookie 不能正常在浏览器中使用。

是因为谷歌浏览器新版本Chrome 80将Cookie的SameSite属性默认值由None变为Lax。

接下来带大家解决该问题。

原理讲解我们可以看到Cookie有以下属性

Cookie属性

名称:Cookie的name。

值:Cookie的value。

【跨域】一篇文章彻底解决跨域设置cookie问题!(跨域的几种方法)

Domain: Cookie的域。如果设成xxx.com(一级域名),那么子域名x.xxx.com(二级域名),都可以使用xxx.com的Cookie。

Path:Cookie的路径。如果设为/,则同域名全部路径均可使用该Cookie。如果设为/xxx/,则只有路径为/xxx/可以使用该Cookie。

Expires / Max-Age:Cookie的超时时间。如果值为时间,则在到达指定时间后Cookie失效。如果值为Session(会话),Cookie会同Session一起失效,当整个浏览器关闭的时候Cookie失效。

Size:Cookie的大小。

HttpOnly:值为true时,Cookie只会在Http请求头中存在,不能通过doucment.cookie(JavaScript)访问Cookie。

Secure:值为true时,只能通过https来传输Cookie。

SameSite:

值为Strict,完全禁止第三方Cookie,跨站时无法使用Cookie。值为Lax,允许在跨站时使用Get请求携带Cookie,下面有一个表格介绍Lax的Cookie使用情况。值为None,允许跨站跨域使用Cookie,前提是将Secure属性设置为true。

Priority :Cookie的优先级。值为Low/Medium/High,当Cookie数量超出时,低优先级的Cookie会被优先清除。

还需要了解两个概念:

跨站:两个域名不属于同站(域名-主机名/IP相同,协议相同)。跨域:两个域名不属于同源(域名-主机名/IP相同,端口号相同,协议相同)。

并且谷歌浏览器新版本Chrome 80将Cookie的SameSite属性默认值由None变为Lax。

这下就很清楚明了了,有两种解决方案:

将Cookie的SameSite值设为None,Secure值改为true,并且升级为https,我们就可以跨域使用Cookie。将Cookie的SameSite值设为Lax/Strict,并且将前后端部署在同一台服务器下,我们就可以在同一站点使用Cookie。注意:

如果是本地测试想要前后端对接我们就只能使用方案一了两种方案需要先解决浏览器同源策略也就是跨域问题前端设置这里以vue的axios为例import axios from 'axios'// 只需要将axios中的全局默认属性withCredentials修改为true即可// 在axios发送请求时便会携带Cookieaxios.defaults.withCredentials = true后端设置这里以Django为例Django跨域问题请参考另一篇文章:【Django跨域】一篇文章彻底解决Django跨域问题# 我们需要修改 seeting.py 修改项目设置# 记得先设置允许访问的IPALLOWED_HOSTS = ['*']# 就像我们上面所说的一样有两种解决方案# 方案一# 将session属性设置为 secureSESSION_COOKIE_SECURE = True# 设置cookie的samesite属性为NoneSESSION_COOKIE_SAMESITE = 'None'# 且将协议升级为https# 方案二# 前后端部署在同一台服务器即可# 记得先解决ajax的跨域问题# 加入以下代码即可CORS_ALLOW_CREDENTIALS = TrueCORS_ALLOW_ALL_ORIGINS = TrueCORS_ALLOW_HEADERS = ('*')

是不是非常简单呢,不同的前后端框架按照原理解决即可。

如果对你有帮助的话请给我点个赞吧👍。

本文链接地址:https://www.jiuchutong.com/zhishi/289654.html 转载请保留说明!

上一篇:红宝石海滩的日落,华盛顿州奥林匹克国家公园 (© Adam Mowery/Tandem Stills + Motion)(红宝石地址)

下一篇:属于大堡礁的一部分的心形礁,澳大利亚昆士兰 (© Peter Adams/Offset by Shutterstock)(大堡礁的现状)

  • 计提企业所得税分录
  • 营业外收入需要结转到本年利润吗
  • 汇算清缴哪些需要调增调减
  • 企业合并吸收税务处理
  • 增值税和个人所得税都要交吗
  • 公司资料更新
  • 材料成本差异月初贷方余额表示什么
  • 高工资怎么说
  • 融资租赁租金会计科目
  • 收到电费发票做账摘要怎么写
  • 劳务外包要通过应付职工薪酬吗
  • 免税收入的三个条件
  • 往年的企业所得税季报可以更正吗
  • 车辆保险费的车船税计入什么会计科目
  • 园林绿化工程的分项工程有几个
  • 当月没有认证的发票要勾选吗
  • 纳税人提供植物养护服务属于什么服务
  • 税字号是不是纳税人识别号
  • 人防设施建设费
  • 银行承兑第一手怎么盖章
  • 工业产值怎么计算的 统计
  • 代驾费用入什么二级科目
  • win11dns电脑服务器未响应如何处理
  • 代账会计的职责
  • word如何修改正文字体
  • 事业单位财政拨款是编制吗
  • 固定资产减值准备影响折旧吗
  • 工业园租金大概是多少
  • 本年利润和利润总额的关系
  • 购进免税农产品进行进项税额抵扣时,其抵扣率为
  • 公司出租房屋怎样开发票的税务局率?
  • php制作验证码
  • wordpress拿shell
  • 企业与员工之间的法律
  • yii框架教程
  • service的启动方式及生命周期
  • 报表上如何把账号删除
  • pytorch基础教程
  • 土地出让金返还的税务处理
  • ssh -o命令
  • 三代手续费返还是否需要缴纳增值税
  • 嵌入式软件产品税率
  • 劳务费和工程劳务费有区别
  • python django做网页
  • 税金及附加算什么
  • mongodb主从复制原理
  • 不应确认增值税销项税额的
  • 本期应补退税额就是交钱吗
  • 普通增值税发票会计科目如何写?
  • 长期股权投资的核算方法
  • 建筑公司是可以开在住宅小区吗
  • 上市公司回购股票多久可出售
  • 进项税和销项税月末怎么结转
  • 股东入股怎么做分录
  • 事业单位其他应付款核销分录
  • 进项大于销项月末怎么处理
  • 如何理解预付年金终值期数和系数和记忆方法
  • 小规模纳税人不超过10万免增值税
  • 劳务公司开出发票没有收到钱,怎么做成本
  • 年初建账考虑要点业务流程是否变化
  • 建账有哪些步骤,每个步骤有哪些注意事项
  • sql整型
  • linux 切文件
  • 注销与退出登录
  • 电脑安装了安卓系统没用
  • Win7系统打开设备和打印机里面什么都没有
  • centos如何安装vim
  • mac 特殊符号
  • windows8快速启动设置
  • window10软件搜索
  • linux中使用find命令查找文件
  • unity数学函数
  • exceltype函数的用法
  • jquery自定义表单
  • npm与nodejs
  • python简要介绍
  • 税控盘状态
  • 武汉税务局发票对奖
  • 国税地税征管体制改革方案
  • 党风监督员监督和反应情况怎么写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设