这些 cookies 被设置在特定的域名下。例如:
setcookie(name,value,expire,path,domain)
当您登录Gmail时,在“ mail.google.com”之前,您会被重定向到“ accounts.google.com”,然后再重定向到“ mail.google.com”,所以Cookie也在“ accounts.google.com”上。
在此情况下,域名为“ accounts.google.com”,路径为“ /”(主目录)。
当您请求“ www.youtube.com”然后单击“连接”时,它会快速请求“ accounts.google.com”,因此您看不到此重定向,并检查您在“ accounts.google.com”上是否具有Cookie。如果是,则检查Cookie是否有效且未过期,或者用户未被禁止……然后将您重定向到“ www.youtube.com/signin?loginthisSession=Sessionid”。此请求包含从“ accounts.google.com” cookie中捕获的sessionid cookie值。
在最后一步,“ www.youtube.com”记录您并在域“ www.youtube.com”上设置自己的cookie并保存它们。
因此,技巧在于302 HTTP重定向。
更新
我不知道为什么人们一直提到iframe
。请查看此问题发布于2016年时的日期。Google当时没有使用iframe
。正如我提到的,捕获Web流量,您可以看到SetSID
,这意味着从accounts.google.dz(com)
设置SESSION_ID cookie,然后重定向到youtube.com
。它不能通过iframe
不同的域
安全措施
在iframe之间无法从一个域重定向到另一个域。也不是
请在发布之前阅读此内容。
google.com
,那么转到youtube.com
从来没有重定向到类似sso.google.com
的网址。它不知何故地知道你已经登录了。 - F21