gpt4 book ai didi

google-chrome - iframe 中 SameSite=Lax cookie 和 GET 请求的规则是什么?

转载 作者:行者123 更新时间:2023-12-05 01:30:53 25 4
gpt4 key购买 nike

用户在 site-a.com 上,并且有一个带有 site-b.com 的 iframe。 site-b.com 向 site-a.com 发出 GET 请求(在 iframe 内)。用于跨站点 GET 到 site-a.com 的 Lax cookie 是否会随请求一起发送?

更清楚一点:

  • 在 GET 请求之前:site-a.com 中的 site-b.com iframed
  • 在 GET 请求之后:site-a.com iframe 到 site-a.com 中

根据我在 Chrome 91 canary 中的观察,此 cookie 被阻止,而在 Chrome 88 中未被阻止。我认为只有 Lax+POST是有问题的,但在某些情况下,Lax+GET 似乎也被阻止了。有没有任何信息/规范。关于跨站点 GET+Lax cookie?

最佳答案

首先,从 site-b.com 到 site-a.com 的请求是一个跨站点请求。不管它是 GET 还是 POST,它位于两个不同的可注册域(又名 eTLD+1s)之间这一事实意味着它是跨站点的。

specification仅当请求是顶级请求并且具有安全方法(GET,但不是 POST):

   *  If the cookie's same-site-flag is not "None", and the HTTP
request is cross-site (as defined in Section 5.2) then exclude
the cookie unless all of the following statements hold:

1. The same-site-flag is "Lax" or "Default".

2. The HTTP request's method is "safe".

3. The HTTP request's target browsing context is a top-level
browsing context.

iframe 内的请求不是顶级请求,因此无论请求方法是什么,lax cookie 都不会随 iframe 上的跨站点请求一起发送。

Chrome 曾经有一个 bug在这种行为中,没有完全遵循顶级要求。 (过去,如果 iframe 及其所有祖先都匹配顶级,Chrome 会发送 Lax cookie。这是错误的,因为规范说它确实需要 顶级。)你是什么'看到的是在 Chrome 90 中修复错误后的正确行为。

关于google-chrome - iframe 中 SameSite=Lax cookie 和 GET 请求的规则是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66671911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com