我正在使用 SSL 传输所有数据。HTTP 完全禁用。缺少恶意软件或访问某人的物理机器(这两者都很难从服务器端阻止),我看不出攻击者如何窃取登录 cookie。
因此,可以不用担心窃取登录 cookie 吗?
正确实现不可窃取的登录 cookie 的复杂性,仍然允许用户在不同的浏览器和不同的机器上进行会话,这比它保护的材料要高。
因此,我相信不安全地防止在机器之间复制和粘贴 cookie 数据是可以的。
这是一个有效的权衡,还是我在这里忘记了一些关键的东西。
您确实需要确保Secure
在 cookie 上设置了标志,因为您通常无法阻止人们尝试通过非 SSL 访问您的网站。否则,我相信你应该没问题。
也就是说,我建议采取合理的预防措施。例如:
HttpOnly
在敏感 cookie 上设置标志,这样任何可能不受信任的 JavaScript 都无法窃取它们。是的,这是一个有效的威胁。
根据定义,“记住我”cookie 会使您的网络服务的安全性超出您的控制。现在,一般来说,任何可以劫持该 cookie 的人(尤其是老练的攻击者)都可以以该用户身份登录。
让我们举一个真实的例子:谷歌在其服务中使用了类似的 cookie。您一次可以登录数周。根据我的观察,它减轻 cookie 盗窃攻击的方法是,如果它们在服务器端检测到可疑活动,则使 cookie 无效。例如,如果我通常从加利福尼亚登录,但我突然从另一个州/国家/地区登录(或在其他地方有并发会话!)我可能会被注销并被迫重新进行身份验证。当然,这不是万无一失的,但可以使用使用模式来阻止某些攻击。
另外,请记住 cookie 将是特定于浏览器的。例如,如果浏览器指纹用于确定用户刚刚从不同的操作系统/浏览器/等登录,那么这可能是使 cookie 无效的好时机。如果浏览器的次要版本是升级的,也许你可以考虑并允许一定的余地,但如果浏览器版本降级,则标记它。