我的 Web 应用程序的身份验证机制目前非常简单。
当用户登录时,网站会发回一个 session Cookie,该 Cookie 存储(使用 localStorage
)在用户的浏览器上。
但是,此 cookie 很容易被窃取并用于从另一台计算机重播 session 。我注意到其他网站(例如 Gmail)拥有更强大的机制来确保仅复制 cookie 不会允许您访问该 session 。
这些机制是什么?小公司或单个开发人员也有办法使用它们吗?
最佳答案
我们遇到了类似的问题。如何安全地存储客户端数据?
我们最终选择了 HttpOnly包含 UUID 和该 UUID 的附加副本(存储在 localStorage 中)的 cookie。每次请求时,用户都必须将 UUID 和 cookie 发送回服务器,服务器将验证 UUID 是否匹配。我想就是这样OWASP's double submit cookie有效。
本质上,攻击者需要访问 cookie 和 localStorage。
关于cookies - 如何保护Web应用程序免受cookie窃取攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49562828/