【问题标题】:Chrome 80 POST from Flash: no cookies, Origin null (not cross-site)来自 Flash 的 Chrome 80 POST:无 cookie,Origin null(非跨站点)
【发布时间】:2020-07-01 04:08:15
【问题描述】:

用户已经开始在 Chrome 80 下遇到基于 Flash 的流量问题:Cookie 没有通过POST 请求发送。

我知道SameSiteupdates,但我们的流量都是同域的,所以我认为这不会影响我们。

从调试工具调试请求标头:

以下是我的注意事项:

在旧版 Chrome 73 中:

  • 没有Sec-Fetch-* 标头
  • Origin 标头始终正确
  • cookie 发送正确

在 Chrome 80 中,GET 请求:

  • Origin 正确,发送cookies
  • 现在有Sec-Fetch-* 标头
  • Sec-Fetch-Site cookie 表示cross-site -- 是这样吗?这是由浏览器决定的,对吗?为什么 Chrome 会将流量标记为跨站点? - 请求 URL 与我的页面相同,与 window.location.hostname 相同。

在 Chrome 80 中,POST 请求:

  • Sec-Fetch-* cookie 与 GET 相同
  • Origin 标头是null - 等等,为什么?这也是由浏览器分配的,对吧?为什么为空?
  • cookie 未发送

这对我来说完全没有意义。它总是有效的,我们不使用多个域,我们的 cookie 是 securehttponly。谁能帮我理解:

  1. 为什么 Chrome 80 会将我的请求标记为 Sec-Fetch-Site: cross-site
  2. 为什么 Chrome 80 会发送 Origin: null 而没有用于 POST 的 cookie?

【问题讨论】:

  • 您的 cookie 是否有 SameSite=None 和 Secure 标志?

标签: google-chrome flash cookies http-headers


【解决方案1】:

我遇到了同样的问题。对于来自 Flash 的 post 请求,有时请求根本不包含 cookie,有时它只包含一个 cookie 键(我的 cookie 中有多个键)。这看起来像是 Chrome 80 中的一个错误,除非他们是故意这样做的,否则他们想长期杀死 Flash。

【讨论】:

  • 我真的很想知道这是不是“故意/不在乎”。但是我创建了一个小测试用例,没有遇到问题。所以现在我很困惑......你是否偶然使用了 crossdomain.xml 文件?
  • 您好,我也面临同样的问题,有时 JSESSIONID cookie 会在 POST 请求中传输,有时则不会。因为,JSESSIONID cookie 没有 SameSite=None 和 Secure 标志。请在此处阅读更多信息:docs.adobe.com/content/help/en/target/using/implement-target/…
猜你喜欢
  • 1970-01-01
  • 2016-08-20
  • 1970-01-01
  • 1970-01-01
  • 2015-10-15
  • 2020-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多