2014-12-22 47 views
1

我将编写一个负责用户身份验证的服务器API。从我的极限知识和理解中,当用户使用用户名和密码登录时,会话将被创建,并且使用用户名的auth cookie将保存到cookie中。当用户请求下一页时,cookie中的用户信息将发送到服务器,服务器将识别它。所以我的问题是,如果另一个人手动复制现有的cookie信息并在另一台计算机的浏览器中创建相同的cookie,该怎么办?它会跳过登录阶段吗?任何人都可以详细解释如何防止这个细节?谢谢使用cookie进行节点用户身份验证

回答

1

是的,它很可能会跳过登录阶段。你所描述的是会话劫持或cookie劫持的一种形式。通过未加密连接(即HTTP而不是HTTPS)使用cookie不是一个安全的解决方案,因为任何人都可以窃取和使用相同的cookie,通常这足以获得完全访问权限而无需进行身份验证。 (虽然它通常不是很难被利用,但并非不可能)。

很快就会有没有理由不使用HTTPS(详见my answer to other question)。

除了确保没有人能够读取cookie(使用HTTPS和HttpOnly),您还必须确保没有人能够猜出会话ID(例如,它不能是连续的或小数字的或类似的那)。

参见:

相关问题