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