Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask set_cookie域属性不';行不通_Python_Flask_Setcookie - Fatal编程技术网

Python Flask set_cookie域属性不';行不通

Python Flask set_cookie域属性不';行不通,python,flask,setcookie,Python,Flask,Setcookie,根据,我应该能够为除我自己的域之外的域设置具有域路径的cookie,如下所示: resp = make_request(render_template(index.html)) resp.set_cookie('cookiekey', 'cookievalue', domain='notmydomain.example.com') 我能够设置cookies为我的域与刚才 resp.set_cookie('cookiekey', 'cookievalue') 它们被浏览器(Chrome)接受。

根据,我应该能够为除我自己的域之外的域设置具有域路径的cookie,如下所示:

resp = make_request(render_template(index.html))
resp.set_cookie('cookiekey', 'cookievalue', domain='notmydomain.example.com')
我能够设置cookies为我的域与刚才

resp.set_cookie('cookiekey', 'cookievalue')
它们被浏览器(Chrome)接受。但是,当我尝试设置域时,它们不会显示在浏览器中。此外,使用postman进行的测试表明,设置的Cookie头已发送,并且是正确的


这是否意味着浏览器只是忽略了我的请求,如果是,我如何让它接受我设置的Cookie头?

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

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


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

浏览器只是拒绝cookie,因为基本策略没有得到遵守:cookie必须为当前域或其子域设置。因此,我在进行大量邮递员测试时发现了这一点,因此接受了这个答案。作为后续行动,如果我拥有一个域(example.com),并将我的网站保留在一个子域(www.example.com)上,并将另一个子域指向需要cookie的服务器(data.example.com),然后将cookie设置为供整个域(*.example.com)使用,浏览器会接受吗?