EasyNVR|Google Chrome浏览器不能携带cookie导致EasyNVR调取接口报错,如何解决?
_本文原题:Google Chrome浏览器不能携带cookie导致EasyNVR调取接口报错 , 如何解决?
作为基于H5网页无插件直播的互联网直播平台 , TSINGSEE青犀视频的权限产品都是基于H5播放 , 所以对浏览器的兼容性要求比较高 。 最近 , 谷歌最新版本更新之后 , 我们突然发现post请求就无法携带cookie了 , 到度娘上一搜索 , 发现很多用户都因为该问题导致了程序报错 , 花费了不少时间在排查上面 。 同样我们也因为该问题 , 导致用户调用EasyNVR的接口报错 。
本文插图
本文插图
观察这两个请求 , 发现是在请求头里面一个有cookie , 一个没有cookie;有cookie的请求成功了 , 没有cookie的请求失败了 。
因为程序没有改动关于cookie的代码 , 就是因为google高版本对cookie进行了限制 。
本文插图
SameSite属性
Cookie的SameSite属性用来限制第三方Cookie , 从而减少安全风险 。
它可以设置三个值 。
- Strict
- Strict最为严格 , 完全禁止第三方 Cookie , 跨站点时 , 任何情况下都不会发送 Cookie 。 换言之 , 只有当前网页的 URL 与请求目标一致 , 才会带上 Cookie 。
- Lax
- Lax规则稍稍放宽 , 大多数情况也是不发送第三方 Cookie , 但是导航到目标网址的 Get 请求除外 。
- None
- Chrome 计划将Lax变为默认设置 。 这时 , 网站可以选择显式关闭SameSite属性 , 将其设为None 。 不过 , 前提是必须同时设置Secure属性(Cookie 只能通过 HTTPS 协议发送) , 否则无效 。
store.Options(sessions.Options{HttpOnly: true, MaxAge: tokenTimeout, Path: "/", Secure: true})在newCookie的时候为添加Samsite为none
cookie := &http.Cookie{Name: name,Value: value,Path: options.Path,Domain: options.Domain,MaxAge: options.MaxAge,Secure: options.Secure,HttpOnly: options.HttpOnly,SameSite: http.SameSiteNoneMode,}
本文插图
这个是Http的 , 不会携带cookie 。
本文插图
Https是可以携带cookie的 。
因为新版谷歌浏览器导致的Cookie问题 , 其实我们也不是第一次遇到了 , 之前也解决过Cookie导致的跨域问题(EasyNVR新版存在跨域问题是什么原因) 。 然而目前Cookie的问题也算是有了解决 , 大家如果后续还碰到了无法自行排查及解决的问题 , 可以及时联系我们 。
除了EasyNVR之外 , 还有更多视频监控解决方案(EasyDSS、EasyGBS、EasyCVR) , 详情可进入TSINGSEE青犀视频查阅及了解 。 EasyDarwin是国内视频流媒体团队TSINGSEE青犀视频开发和维护的开源社区 。 从2012年12月创建并发展至今 , 从原有的单服务的流媒体服务器形式 , 扩展成现在的云平台架构的开源项目 。
推荐阅读
- 谷歌|明年起,Chrome扩展将显示所收集的用户数据和使用情况
- Quest投屏功能现已支持Chrome、Edge浏览器
- 互联网|Google Chrome 87 引入标签页搜索与后台续航优化
- 芯片|支持苹果 M1 芯片的 Chrome 浏览器正式推出
- Google|Google携手网易有道上线“Grow with Google”学习专区
- Google开发者大会|2020 Google开发者大会来了!首次全线上举行
- EasyNVR|【解决方案】RTSP协议视频平台EasyNVR建立智能水库管理系统,打造智慧水库水库视频监控需求方案设计方案说明平台实际效果展示
- 太平洋电脑网|Edge首次突破10%!微软这次能挑战Chrome吗
- Google|Google AI算法助力降低糖尿病患者失明风险
- 雷科技|Windows手机系统?这个只在Google商店的神器,绝了
