Python Flask set_cookie 域属性不起作用

Python Flask set_cookie domain attribute doesn't work

根据 Flask Documentation,我应该可以像这样为除我自己的域之外的域设置带有域路径的 cookie:

resp = make_request(render_template(index.html))
resp.set_cookie('cookiekey', 'cookievalue', domain='notmydomain.example.com')

我可以通过

为我的域设置 cookie
resp.set_cookie('cookiekey', 'cookievalue')

并且它们被浏览器接受 (Chrome)。但是,当我尝试设置域时,它们不会出现在浏览器中。此外,邮递员测试显示 Set-Cookie headers 已发送,并且是正确的。

这是否意味着浏览器只是忽略了我的请求,如果是这样,我怎样才能让它接受我的 Set-Cookie headers?

TL;DR:您不能为与当前域完全不同的域设置 cookie。

为您无法控制的域设置 cookie 会带来巨大的安全风险。 domain 属性只允许您为整个域或子域设置 cookie。例如,系统可以通过 "auth.example.org" 等子域让您登录,然后将您重定向到 "example.org".

在实践中,"unified" 登录系统很复杂:使用质询并且可能通过后端交换数据,而不依赖于浏览器正确地允许其他子域访问原始 cookie。