在cookie中保存会话ID的概念是什么?

时间:2016-03-23 10:44:11

标签: java cookies web-applications session-cookies

我正在为企业开发一个安全的网站。我希望它能够完全抵御所有已知的漏洞。我遇到了创建安全cookie并启用HTTPOnly但在该示例中他们使用cookie值作为sesssion Id。我不明白。不会用这种方式可能构成威胁吗?

1 个答案:

答案 0 :(得分:1)

您需要将会话ID发送到客户端并返回到服务器,以便将来自该客户端的请求与会话相匹配。

AFAIK只有两种方式来传递会话ID:作为cookie或作为参数(在大多数情况下,这将是一个支持get请求的url参数)。通过参数发送会话ID是一个漏洞,因为攻击者可以提供带有预先设定的sesssion id(会话固定)的链接,而对cookie执行相同操作至少很难(如果不是不可能的话)。

通过url参数发送会话ID不仅是一个安全问题。假设某人复制了网址并将其发送给某人("嘿,看看这个")或将其发布到网络上的某个地方。只要会话存在,访问该链接的每个人都将使用相同的会话并相互之间进行会话。当然,有些方法可以识别用户而不管会话(ip,mac地址等),但这些措施通常是不可行的或施加其他限制(例如,您将如何处理漫游移动用户?)。