根据Flask Documentation,除了这样的设置外,我还应该能够为域设置一个具有域路径的cookie:
resp = make_request(render_template(index.html))
resp.set_cookie('cookiekey', 'cookievalue', domain='notmydomain.example.com')
我能够仅用
为我的域设置Cookieresp.set_cookie('cookiekey', 'cookievalue')
并且它们被浏览器(Chrome)接受。但是,当我尝试设置域时,它们不会出现在浏览器中。此外,对邮递员的测试表明Set-Cookie标头已发送且正确。
这是否意味着浏览器只是忽略了我的请求,如果是这样,我如何才能使其接受我的Set-Cookie标头?
答案 0 :(得分:2)
TL; DR:您无法为与当前域完全独立的域设置Cookie。
为无法控制的域设置Cookie会带来巨大的安全风险。 domain
属性仅允许您为整个域或子域设置cookie。例如,这就是系统如何通过子域(例如“ auth.example.org”)登录您,然后将您重定向到“ example.org”的方式。
实际上,“统一”登录系统很复杂:使用了挑战,并且可能通过后端交换数据,而不是依靠浏览器正确地允许其他子域访问原始cookie。