我使用HttpSession
将setAttribute
中的用户数据(如姓名,密码和电子邮件)存储起来。
我想知道在HttpSession
中存储关键数据是否安全。
答案 0 :(得分:1)
尝试将登录信息存储在以下某个用户存储库中(在登录时检查有效性):
这不是身份验证选项的完整列表。
您至少应该使用SSL / HTTPS进行登录和任何其他敏感数据。
看一下这篇文章:http://en.wikipedia.org/wiki/Session_hijacking
以下是关于该问题的讨论:What is the best way to prevent session hijacking?
此处还提到了一些安全问题:What should every programmer know about web development?
答案 1 :(得分:0)
理想的做法是永远不要在任何应用程序中保存密码。理想情况下,如果使用基于数据库的身份验证或使用LDAP身份验证,则需要在DB的用户表中将密码加密保存。
成功通过身份验证后,您可以在http会话中保留电子邮件和姓名等字段。最好是在会话中保留用户名(这是唯一的),并且必须通过执行数据库读取,基于此用户名从数据库中读取配置文件信息。 可以将这些信息保存在cookie中,以便利用某些信息重新填充频繁的访问者。
最重要的是不要将密码保存在隐藏变量,cookie或查询字符串中。
必须保留的任何敏感信息必须在会话中加密。