Python Flask set_cookie域属性不起作用

时间:2019-08-30 20:51:05

标签: python flask setcookie

根据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标头已发送且正确。

这是否意味着浏览器只是忽略了我的请求,如果是这样,我如何才能使其接受我的Set-Cookie标头?

1 个答案:

答案 0 :(得分:2)

TL; DR:您无法为与当前域完全独立的域设置Cookie。

为无法控制的域设置Cookie会带来巨大的安全风险。 domain属性仅允许您为整个域或子域设置cookie。例如,这就是系统如何通过子域(例如“ auth.example.org”)登录您,然后将您重定向到“ example.org”的方式。

实际上,“统一”登录系统很复杂:使用了挑战,并且可能通过后端交换数据,而不是依靠浏览器正确地允许其他子域访问原始cookie。