【问题标题】:java servlet remember me option with cookiesjava servlet 使用 cookie 记住我的选项
【发布时间】:2011-12-10 01:21:02
【问题描述】:

我需要在带有 cookie 的 java servlet 中实现一个简单的记住我选项,而不使用任何高级框架。

首先,在登录时,我创建 cookie 并将其发送给浏览器(客户端)。要存储在 cookie 中的值只是用户名 + 密码的简单哈希。

我应该如何管理来自浏览器的传入请求,发送 cookie? 我的方法是在注册用户之间检查是否有任何用户的用户名 + 密码的哈希值等于 cookie 中的值? 这种方法正确吗?

另外,我不明白到期日期的机制是什么。 cookie过期后浏览器会删除吗,不会,如何查看cookie是否过期?

【问题讨论】:

    标签: java servlets cookies remember-me


    【解决方案1】:

    只要您不使用 HTTPS,您建议的方法就非常不安全。我建议生成某种会话令牌(例如使用 java.util.UUID.randomUUID())并将其设置为 cookie 并将其存储在服务器端的某个位置,以便您以后可以在 cookie 中识别与此会话 id 关联的用户。

    如果您认为发生了一些欺诈行为并且用户名/密码与您使用的 cookie id 之间没有直接关系,这使您有机会重置某个会话 cookie。但请注意:这种方法仍然容易受到中间人攻击。

    关于过期:是的,cookie 失效,如果过期,可能会被浏览器删除。但是您可以将 cookie 设置为 3000 年的某个值,这样它就会永远存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 2011-08-15
      相关资源
      最近更新 更多