现在,在我的应用程序中,用户的 cookie 以包含用户 ID 的特定格式生成。我希望我的cookie在每次登录后随机生成,这样即使cookie一旦被盗,黑客也永远不会永远使用它们。
以这种方式处理 cookie 的最佳做法是什么?我应该如何存储/检索它们(哈希表/数据存储...)?
谢谢
现在,在我的应用程序中,用户的 cookie 以包含用户 ID 的特定格式生成。我希望我的cookie在每次登录后随机生成,这样即使cookie一旦被盗,黑客也永远不会永远使用它们。
以这种方式处理 cookie 的最佳做法是什么?我应该如何存储/检索它们(哈希表/数据存储...)?
谢谢
HttpSession
我建议使用GAE/J 支持
的内置 Java 会话对象。在此处查找有关如何在 GAE 上启用会话的文档。
您可以将会话设置为在特定时间段后过期,或者您可以在其中存储一个数字并在外部验证会话。
我同意 Rick 的观点,容器设计人员已经完成了验证请求是否来自同一用户的肮脏工作,您不想重新发明轮子吗?
HttpSession session = request.getSession();
这将创建一个新会话,如果一个尚不存在,但如果存在,它将为您提供现有会话。
session.setAttribute('key', value);
value 可以是任何 Serializable POJO,key 是一个字符串。您可以通过以下代码检索应用程序范围内的存储值。
Object value = (Object) session.getAttribute('key');
有关如何使用会话的更多信息,请查看 HttpSessions 的 Java 规范。
您可以尝试以下参数:
将其加入一个字符串(如13413:1826271762:b026324c6904b2a9cb4b88d6d61c81d1
)并将其存储到一个 cookie 中,如USERID
.
对于您需要的每个请求: