“ SameSite = none”不适用于iframe

时间:2020-03-18 16:12:09

标签: google-chrome cookies samesite

升级到 Chrome版本80.0.3987.132 后,cookie不会发送到iframe请求。在“网络”标签(Chrome开发者工具)上,我没有看到我的请求的Cookie。

打开“显示过滤出的请求cookie”选项后,我看到我的cookie标记为“ “由于用户首选项未发送此cookie。”

cookie集的标题:

set-cookie: token=jf23HaUI91Bd8L1chHq; expires=Wed, 18-Mar-2020 16:01:59 GMT; Max-Age=1799; path=/; SameSite=None; secure; domain=.example-domain.com; HttpOnly

当我在同一域上打开iframe时,一切正常,但是如果它是通过http或https的第三方域,则无法使用Cookie。

有人遇到或知道如何解决此问题吗?

4 个答案:

答案 0 :(得分:1)

chrome://settings/content/cookies

上取消选择阻止第三方cookie

答案 1 :(得分:0)

我认为您应该确保这些 cookie 的 SameSite 标志始终设置为 None。如果它最初设置为 Lax,然后您尝试将其设置为 None,则它可能不起作用。

此外,您应该确保 SameSite=None cookie 的 Secure 标志始终设置为 true。

答案 2 :(得分:-2)

它对我有用,通过PHP设置cookie; 这是php <7.3(!)

的HACK

session_set_cookie_params(3600 * 24,'/; SameSite = None',$ _SERVER ['HTTP_HOST'],true);

(安全= true很重要)

答案 3 :(得分:-2)

如果是在IIS中托管,则可以在web.config中添加以下配置,以避免浏览器添加SameSite=Lex

<sessionState mode="InProc" **cookieless="UseCookies" cookieSameSite="None"** timeout="20"/>