每当我登录一个Google服务时,我都会自动登录不同域中的所有其他网站.
我想知道的是他们如何能够访问属于另一个域的不同cookie和会话.
我尝试在线搜索但我找不到任何信息.我可能会拔出萤火虫并试图找出,但我相信有人在这里知道.
Google Login的工作方式如下:
1)您登录,通常是在Google.com/accounts域下的登录页面.
1a)如果您不在Google.com/accounts域中,则会在您发布表单后转发给您.这可以在像Blogger这样的网站上找到.
到达Google.com/accounts域后,他们会做两件事
2)他们设置了特定于Google.com/accounts域的Cookie,这些Cookie也只能通过安全连接发送.这是为了稍后验证您的身份.
我说多个因为有几个cookie绑定到google.com/accounts域.我相信其中一个是确保如果不允许安全连接,所有都不会失败
3)他们使用.google.com作为他们的域设置了一个跨越所有域的cookie,因为这将使cookie可用于任何域.
4)他们转发你.
5)如果它是不同域上的站点,如博客,则它们会在URL中发送授权密钥.页面看到它,修复它,并为不同的域设置cookie.可以使用Google的Oauth看到这样的技术.
这是Secure Cookie的用武之地.
如果您注意到,每当您关闭浏览器后访问某个网站时,他们会将您转到google.com/accounts路径,在此路径中,他们会根据安全连接重新验证您的身份,然后重置子域范围的Cookie.然后他们送你回去.
此外,Google Adsense等网站使用与Google.com/accounts相同的技术,在特定路径上制作安全Cookie,然后使用更多全局Cookie以允许更多访问权限.
其中一些是猜测,但考虑到非内部人士可以看到的,我认为这接近事实.
注意:我花了整整一个月的时间,只是浏览从谷歌网站到谷歌网站,看看他们是如何做的.通过支持这篇文章,你正在减少我没有生命的悲伤