5

我将用户数据(例如姓名、密码和电子邮件)存储在您HttpSessionsetAttribute.

我想知道将关键数据存储在HttpSession.

4

2 回答 2

2

尝试将登录信息存储在以下用户存储库之一中(登录时检查有效性):

  • 内存中(比如说,它可能是一个 xml 文件),
  • 基于 JDBC,
  • 基于 LDAP。

这不是身份验证选项的完整列表。

您至少应该使用 SSL/HTTPS 登录和任何其他敏感数据。

看看这篇文章:http ://en.wikipedia.org/wiki/Session_hijacking

这是关于该问题的一个很好的 SO 讨论:防止会话劫持的最佳方法是什么?

这里还提到了一些安全问题:每个程序员都应该了解 Web 开发什么?

于 2012-05-03T20:44:22.550 回答
1

理想的做法是永远不要以应用程序的任何方式保存密码。理想情况下,如果您使用基于数据库的身份验证或使用 LDAP 身份验证,则密码需要加密保存在数据库的用户表中。

认证成功后,可以在http session中保留email、name等字段。最好在会话中保留用户名(这是唯一的),并且必须通过执行数据库读取从基于此用户名的数据库中读取配置文件信息。可以将此信息保存在 cookie 中,以便为经常访问者重新填充一些信息。

最重要的是不要将密码保存在隐藏变量、cookie 或查询字符串中。

必须保留的任何敏感信息都必须在 SESSION 中但已加密。

于 2012-05-04T16:29:19.107 回答