zoukankan      html  css  js  c++  java
  • Google Chrome浏览器不能携带cookie导致RTSP协议视频平台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 协议发送),否则无效。

    Set-Cookie: widget_session=abc123; SameSite=None; Secure
    

      

    这里添加Secure为true

    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月创建并发展至今,从原有的单服务的流媒体服务器形式,扩展成现在的云平台架构的开源项目。

  • 相关阅读:
    $digest / $apply digest in progress报错
    get与post请求
    面试题(北京)
    Docker监控平台prometheus和grafana,监控redis,mysql,docker,服务器信息
    Zabbix系列优秀博文
    Docker安装Zabbix
    使用Docker部署监控系统,Prometheus,Grafana,监控服务器信息及Mysql
    docker镜像加速,docker更换为国内镜像
    记一次,Docker镜像1G多精简至300+M的过程
    docker通过dockerfile构建JDK最小镜像,Docker导出导入镜像
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/13719006.html
Copyright © 2011-2022 走看看