3

如果之前有人问过这个问题,我深表歉意,但我希望得到最新的答案。

我对服务器端安全性非常陌生,我想正确地做到这一点。

我的问题:加密通过 HTTPS 发送的密码是最佳实践吗?

我看过一些帖子,建议在密码发送到 POST 变量之前使用 Javascript 对密码进行加密,但我不确定在使用 HTTPS 时是否有必要这样做。

请注意:当密码存储在数据库中时,我有意对密码进行散列和加盐处理。

4

1 回答 1

5

如果使用 HTTPS,则没有太多理由加​​密客户端和服务器之间发送的数据。HTTPS 会为您做到这一点,因此任何进一步的加密都是多余的。

我能想到提前加密密码的唯一原因是在客户端对其进行哈希处理,以避免清除密码保留在服务器内存或日志中。这有点偏执,在现实世界中可能没有多大用处。无论如何,日志都不应该记录密码,如果有人可以访问您的服务器内存,那么除了密码加密之外,您还有其他问题需要解决。

此外,在客户端加密密码可以让其他人看到加密/散列是如何执行的。恕我直言,这比让它在服务器内存中驻留几毫秒更具安全风险。

于 2012-12-27T16:44:01.257 回答