如何根据Cookie

时间:2017-02-13 21:20:34

标签: http session servlets cookies encryption

我想建立一种机制来使用Cookie对象跟踪每个用户的http会话。因此,我将用户ID存储在Cookie中,然后我将与响应正文中的客户端进行通信(一旦登录过程成功),例如:

Cookie loginCookie = new Cookie("userId", userId);
httpServletResponse.addCookie(loginCookie);

我有三个问题:

1)如何根据他的Cookie检索给定的用户http会话?我是否应该为此目的存储JSESSIONID而不是userId?

2)加密用户cookie不会阻止某些攻击者窃听客户端和服务器之间的通信而损害cookie。因此,攻击者可以重复使用cookie来请求服务器作为实际用户,因为每次用户请求服务器时都会传送相同的cookie。我真的没有看到加密cookie的位置可以提供帮助。我也应该使用数字签名算法来验证发件人吗?

1 个答案:

答案 0 :(得分:0)

  1. 您应该将会话ID存储在cookie中,将用户ID存储在服务器端会话中。

  2. 如果您使用https,Cookie重用不应该是一个问题,这可以降低微弱的风险。如果您不使用https,则无法通过任何加密方式为您提供帮助。