当用户访问我的网站“www.mysite.com”时,我为该特定用户设置了一个cookie。 接下来,用户进入Facebook,登陆应用程序选项卡并单击类似按钮。外部页面“www.mysite.com/facebooktab.html”被加载到Facebook画布中。 1.现在,我是否可以从facebooktab.html访问我之前在www.mysite.com上设置的cookie? 2.加载到Facebook的页面是否显示与我在浏览器中访问www.mysite.com/facebooktab.html时相同的行为,除了在Facebook中加载页面时我有一些额外的用户属性可供我使用(因为用户登录Facebook)?
答案 0 :(得分:1)
两种情况之间的关键区别在于,当您的网页直接加载时,您设置/读取的Cookie是“第一方”Cookie;当您的页面加载到Facebook框架内时,cookie将成为“第三方”。每个浏览器都有自己的一套规则,但它们都对第三方cookie和第一方cookie应用不同的策略。您提到您最初是在您的网站上直接设置cookie(第一方模式),然后只在页面位于Facebook(第三方模式)时才读取它。大多数浏览器都允许这样做,没有任何限制,因为它们只对cookie的编写应用更严格的第三方策略而不是读取。 Firefox是一个例外,它将读写权限整合在一起。如果Firefox用户在其配置中清除了“接受第三方cookie”框,则Facebook上的页面将无法读取您之前设置的cookie,即使它是直接在您的网站上设置的。