不同子域上的会话cookie是否算作第三方?

问题描述 投票:10回答:3

假设我在www.example.com上有一个站点,它有一个IFRAME指向ASP.NET站点myapp.othersite.com - 这会导致会话和第三方cookie的问题,我理解。

如果我将嵌入式应用程序移动到myapp.example.com,会话cookie是否会被视为第三方cookie,因为它是一个不同的子域?

iframe cookies subdomain privacy
3个回答
8
投票

如果您在域.example.com上设置Cookie

然后来自www.example.com和www.myapp.example.com的cookie将被视为相同。

没有cookie被视为第三方cookie。


6
投票

如果Cookie来自不同的基本域(基本域为example.comexample.co.uk),则它们似乎被视为第三方,但如果它们来自同一基本域的不同子域,则不会。

myapp.example.com将能够使用域myapp.example.com设置cookie,如果它嵌入在www.example.com中。

myapp.example.com使用域.example.com设置cookie是不必要的,除非这些cookie需要从不同的子域读取。

[在Firefox中测试过,Chrome(第三方cookie被阻止)和Safari] [ThirdPartyUtil.IsThirdPartyInternal似乎是在Firefox中检查的地方]


0
投票

当基本域相同且子域名不同而第三方cookie在最新版本的Firefox,Chrome和Microsoft Edge的浏览器设置中被阻止时,我能够成功设置和读取第三方cookie。即使没有在cookie上设置域属性,也是如此。这意味着Firefox,Chrome和Microsoft Edge不会将来自同一基域的Cookie视为第三方Cookie。

我的方法如下。我有两个不同的主机名,具有相同的基本域但不同的子域。其中一个包含两个PHP文件。第一个设置带有随机cookie名称且没有域属性的cookie,并将cookie的名称作为JSONP返回。第二次尝试读取cookie然后返回true或false作为JSONP。另一个主机名包含一个HTML文件,该文件使用AJAX查询设置cookie的第一个PHP文件,然后在完成后立即再次使用AJAX查询第二个测试cookie是否存在的PHP文件。我首先确保浏览器阻止第三方cookie,然后再继续。我测试了三种浏览器:Firefox,Chrome和Microsoft Edge。在所有情况下,结果显示cookie已成功设置和读取,即使cookie来自不同的域,只要基本域相同即可。

结论:如果资源设置了cookie并且资源上的基本域与网站上的基本域相同,但子域不同,则流行的浏览器不会将其视为第三方cookie。

© www.soinside.com 2019 - 2024. All rights reserved.