我注意到 stackoverflow 仅在登录页面上使用 SSL,并且可以通过 HTTP 发布问题/答案。
用户必须登录才能做到这一点,所以我想知道如果没有使用 SSL,stackoverflow 如何设法跟踪哪些用户已登录。
目前我正在制作一个 Rails 应用程序,它使用 cookie 跟踪登录状态。我一直认为您需要 SSL 才能安全地做到这一点。但我以登录用户身份通过 HTTP 发布此内容。
当我运行tcpdump -i eth0 -A
然后访问 stackoverflow 时,我注意到一个名为“usr”的 cookie,并且该 cookie 以纯文本形式传输,没有 SSL。如果我通过不安全的连接(如 wifi 咖啡馆)登录,黑客/数据包嗅探器能否获取我的 usr cookie 并重播我的会话?
我想避免在我的 Rails 应用程序中使用 SSL(因为我的主机要为实现它负责),所以我想使用与 stackoverflow 相同的技术。我想让用户保持登录状态,而不使用 SSL。
我猜这里正在使用数据库(或 memcache/redis)会话存储。但肯定还是需要某种 cookie 吗?为什么这些 cookie 不必通过 SSL 发送?后台是否发生了其他事情,使这些 cookie 对不同机器上的黑客来说是多余的?