SameSite: Strict 属性导致跨域请求无法发送Cookie

ChatGPT4o 使用 ChatGPT 4o 回答

问题:

简单请求 SameSite: Strict 跨域会导致带不上cookie吗

回答:

是的,使用 SameSite: Strict 属性的 Cookie 在跨域请求中不会被发送。

SameSite 属性用于控制 Cookie 在跨站请求中的发送行为。它有三个可能的值:

  1. Strict:完全禁止跨站点发送 Cookie。只有在同一站点的请求中才会发送 Cookie。
  2. Lax:允许部分跨站点请求发送 Cookie,例如从外部站点导航到当前站点的 GET 请求。
  3. None:允许所有跨站点请求发送 Cookie,但需要设置 Secure 属性,确保 Cookie 只能通过 HTTPS 发送。

因此,如果你的 Cookie 设置了 SameSite: Strict,那么在跨域请求(例如从 domainA.com 请求 domainB.com 的资源)中,这个 Cookie 将不会被发送。只有在同一站点的请求中(例如从 domainA.com 请求 domainA.com 的资源)才会发送这个 Cookie。

如果你需要在跨域请求中发送 Cookie,可以考虑将 SameSite 属性设置为 None,并确保同时设置 Secure 属性,以确保 Cookie 只能通过 HTTPS