SameSite Cookie被阻止

时间:2020-08-20 11:16:55

标签: python cookies cross-domain backend samesite

快速概述: 我在 domain1 上打开我的网站。在页面内部,我使用网址 http:// domain2 / ...

加载iframe

我不断在chrome上收到此警告,它已影响到我的网站:

设置了与 http:// domain2 上的跨站点资源关联的cookie,但未设置SameSite属性。它已被阻止,因为Chrome现在仅在将跨站点请求设置为SameSite=NoneSecure的情况下才提供cookie。您可以在Application> Storage> Cookies下的开发人员工具中查看Cookie,并在https://www.chromestatus.com/feature/5088147346030592https://www.chromestatus.com/feature/5633521622188032上查看更多详细信息。

我以前从未设置过cookie,所以我不知道应该从哪里设置cookie。我已经尝试在我的 domain2 nginx配置中设置proxy_cookie_path,但似乎不起作用:

location / {
    proxy_cookie_path / "/; SameSite=None; Secure";
}

我还尝试添加Set-Cookie标头,但该标头似乎也不起作用:

location / {
    ...
    add_header 'Set-Cookie' 'SameSite=None; Secure';
}

当我尝试第二种解决方案时,似乎标题是从chrome上的响应接收到的,但是chrome发出以下警告:

enter image description here

请注意, domain2 也是我们的域,并且具有使用Flask框架的python后端。那么我应该从python代码还是javascript前端添加cookie?

这真令人沮丧。

2 个答案:

答案 0 :(得分:0)

跨站点资源共享-通过同一域发送请求时,CORS是一个已知问题。您可以尝试使用现有的flask cors package来允许相同的原始请求。

此外,this的问题和答案似乎与您的问题有关。

答案 1 :(得分:0)

我在aa = np.array([[0, 0], [1, 1]]) b = np.array([0,1,2,3]) np.c_[np.tile(a, (len(b), 1)), np.repeat(b, len(a), axis=0)] array([[0, 0, 0], [1, 1, 0], [0, 0, 1], [1, 1, 1], [0, 0, 2], [1, 1, 2], [0, 0, 3], [1, 1, 3]]) 块中使用了这个proxy_cookie_flags ~ secure samesite=none;,它起作用了。