Cookies Stackoverflow如何让用户通过HTTP登录?

Cookies Stackoverflow如何让用户通过HTTP登录?,cookies,ssl,session-cookies,session-hijacking,Cookies,Ssl,Session Cookies,Session Hijacking,我注意到stackoverflow只在登录页面上使用SSL,并且可以通过HTTP发布问题/答案 用户必须登录才能做到这一点,所以我想知道如果没有使用SSL,stackoverflow如何管理跟踪哪些用户登录 目前我正在制作一个rails应用程序,它使用cookies跟踪登录状态。我一直认为您需要SSL来安全地执行此操作。但我以一个登录用户的身份,通过HTTP发布了这篇文章 当我运行tcpdump-I eth0-a然后访问stackoverflow时,我注意到一个名为“usr”的cookie,该c

我注意到stackoverflow只在登录页面上使用SSL,并且可以通过HTTP发布问题/答案

用户必须登录才能做到这一点,所以我想知道如果没有使用SSL,stackoverflow如何管理跟踪哪些用户登录

目前我正在制作一个rails应用程序,它使用cookies跟踪登录状态。我一直认为您需要SSL来安全地执行此操作。但我以一个登录用户的身份,通过HTTP发布了这篇文章

当我运行
tcpdump-I eth0-a
然后访问stackoverflow时,我注意到一个名为“usr”的cookie,该cookie是以明文传输的,没有SSL。如果我通过不安全的连接(如wifi咖啡馆)登录,黑客/数据包嗅探器会拿走我的usr cookie并重播我的会话吗

我想避免在我的rails应用程序中使用SSL(因为我的主机为实现它而向arm和leg收费),所以我想使用与stackoverflow相同的技术。我想让用户在没有SSL的情况下登录


我猜这里正在使用数据库(或memcache/redis)会话存储。但肯定还需要某种饼干吗?为什么这些cookie不必通过SSL发送?在后台是否有其他事情使得这些cookie对不同机器上的黑客来说是多余的?

以下是我相信会发生的事情,或者您可以在应用程序中使用的东西。。当用户通过您的登录页面登录时,您将创建两种不同类型的cookie。创建第二个cookie时,它将以独占方式发送回HTTPS页面,并且所有其他页面(包括HTTP和HTTPS)都可以使用第一个cookie(用户会话cookie)来维护会话,并且所有包含用户独占的安全信息的页面都将使用第二个HTTPS cookie

通过这种方式,可以仅使用会话cookie查看类似的页面,但当您想要查看用户信息页面时,就使用第二个HTTPS cookie


希望这有点道理。

我假设HTTPS用于安全,但一旦打开cookie,就可以使用HTTP。