在Web服务器上存储使用信息

时间:2017-06-22 17:56:07

标签: javascript encryption cookies

我正在存储一些基本信息,以便显示每个用户的信息。我目前正在使用cookie来存储和检索它们,但我想采用更安全的策略。我读到使用本地存储会更安全,更好用,但是,他们似乎没有任何过期日期(如cookie),除非你使用会话存储,否则它们将被无限期存储,我不会#39; t想要。但是,如果信息是加密的,我不介意使用本地存储,但是使用当前encryption libraries,我不知道如何使用它们。

储存:

  • 用户名
  • 登录尝试
  • 用户是否被锁定

有些注意事项:我存储的是用于身份验证,只显示错误消息。我正在使用tomcat 8来处理身份验证和运行服务器(以及锁定)。即使它没有用于身份验证,我也不想存储用户名不安全或没有过期(最多1-2天)。

另外,我没有使用sql数据库(或其他类型),但计划稍后实施,所以不要建议或询问它。

我可以相对轻松地寻找安全方法,我们已经实施了其他安全措施,但我们不想打开任何安全漏洞。

1 个答案:

答案 0 :(得分:0)

没有安全的东西,纯粹是客户端的双向加密。如果你能够在客户端解密某些东西,那么其他人也可以解密。

此外,会话存储,本地存储和Cookie之间没有特别的安全差异。它们都是客户端,可以在同一个域中通过JavaScript读取。

如果您确实希望事情安全,则必须存储在服务器端,并仅通过HTTPS传输。其他任何东西仅仅是通过混淆来实现安全,充其量不是真正的安全。

就到期而言,本地存储或会话存储没有自动过期(会话存储将在会话结束时被清除)。您可以使用JavaScript实现一些,但这只会涉及在它们太旧时丢弃值,并且在它们访问您的页面之前不会发生。

你能做到的最好的几乎是纯粹的客户端是在服务器上存储某种密钥,当你去解密时,它需要从你的服务器请求密钥(通过HTTPS)并使用它解密。这样,如果没有对服务器进行某种正确的身份验证,他们就无法对其进行解密。

但是,如果您这样做,您可能只是首先将信息存储在服务器上。