0

我知道这个问题听起来可能已经回答了,但请和我在一起。我有一个需要用户注册和登录的网站。在这个过程中,让我们注册用户将提供用户名和密码,系统将检查信息,然后 POST 给自己,以便 PHP 脚本进行加盐和哈希将密码存储在数据库中之前。

现在我认为这是安全的,加盐和散列密码始终是最佳实践,但最近我想到这是如何发生的,数据必须先发送到服务器才能进行散列处理,因为我不使用 SSL用户名和密码是未加密发送的,所以我假设这些信息将以纯文本形式发送是否正确?

如果是这样,这根本不好。所以我能看到的唯一两种方法是:

  1. 使用 SSL 并保护用户和服务器之间的连接并加密正在发送的数据。

  2. 在信息离开用户之前散列信息,这可以使用 Javascript 完成

我想实施第二个,但我不确定如何做到这一点。对此的最佳做法是什么?

在发送信息之前,我在想一个 AJAX 脚本将控制数据并首先检查信息是否是我们正在寻找的信息,然后对信息进行加盐和哈希处理。

我描述的这个实现是否有任何安全隐患?

谢谢你的时间。

4

2 回答 2

1

您可能对安全远程密码协议感兴趣。

于 2013-03-08T11:28:34.003 回答
1

使用 SSL 并保护用户和服务器之间的连接并加密正在发送的数据。

是的,这样做。

在信息离开用户之前散列信息,这可以使用 Javascript 完成

这不会保护数据。相反,它将有效地将要发送到服务器的秘密数据更改为密码的散列版本。这仍然会以纯文本形式发送,攻击者可以嗅探它并确切知道要发送什么。

于 2013-03-08T11:31:31.817 回答