看起来这个问题已经在 SO 上被问过很多次了,但我的发现与其他地方的解释相矛盾(或者我可能遗漏了一些东西)。
问题
Firefox 和 Safari 不再支持第三方 cookie,这意味着 -
- example1.com添加的 cookie将在主机example1.com上可见(第一方 cookie)
- example2.com添加的 cookie在主机example1.com上不可见(第三方 cookie)
第一种方法
为了解决这个问题,我尝试了以下 -
使用来自example1.com的子域作为subdomain.example1.com
指向example2.com
使用subdomain.example1.com在example1.com上丢弃 cookie
发现
- Chrome 继续在example1.com中显示来自subdomain.example1.com的 cookie
- Firefox / Safari 不在example1.com中显示来自subdomain.example1.com的cookie
第二种方法
在这种情况下,我做了与方法1相反的事情-
使用来自example1.com的子域作为subdomain.example1.com
指向example2.com
使用example1.com在subdomain.example1.com上删除 cookie
请注意,本例中的主机网站在subdomain.example1.com上运行
发现
在这种情况下,所有浏览器都开始显示 cookie。
问题
为什么我不能在 Firefox / Safari 的情况下从subdomain.example1.com在主机example1.com上添加 cookie?
从example1.com在主机subdomain.example1.com上添加 cookie效果很好,但这是一种实际上可以接受的方法吗?(主机网站不应该是我的意思的子域)
如果您需要更多信息,请告诉我。
谢谢