0

在 GWT 应用程序中,我正在构建一个登录系统。

我已经在服务器端实现了 BCrypt。我的 User 类仅在服务器端,以保护数据。我做了以下假设,如果它们是正确的,我无法确定:

  • 由于客户端 java 被转换为 javascript,我不应该将密码的内容保存在客户端变量中,因为它是可读的。
  • 出于同样的原因,我应该将它发送到已经散列的服务器。
  • 我不应该将我的 User 类放在 shared 中,因为我不希望它的属性可以从源代码中读取/派生。

我见过很多例子,但没有一个在将密码发送到服务器之前对其进行加密。这安全吗?

4

2 回答 2

1

只要您使用 HTTPS 等安全通道,将未加密的密码发送到服务器是安全的。

出于性能原因,您还可以将相同的用户对象(不存储密码)保留在内存中,只需确保始终在服务器端对其进行验证。永远不要相信客户提供给您的用户信息。

于 2012-11-20T20:23:19.393 回答
1

在将密码发送到服务器之前对其进行哈希处理并不能证明任何事情。(除了可能保护用户表单在使用相同密码的其他系统上受到损害。)

如果攻击者拥有您从客户端发送到服务器的任何内容,无论是明文、哈希还是量子脑电波,他们都拥有访问系统所需的一切。

敏感信息需要通过加密的套接字发送,然后你自己如何编码都没关系。

于 2012-11-20T20:34:38.410 回答