我的web登录系统工作吗?



我正在为一个没有SSL的网站构建一个web登录系统,所以这里是我的实现:
我在服务器上有一个表,它有两个字段,一个原始用户名和pass_hashed(与sha1(密码)哈希)。当用户登录到我的系统时,我执行:

  1. 生成密钥
  2. password_hashed = sha1(key + sha1(password))
  3. 提交3个值:username, key, password_hashed

服务器端:

  1. 检查密钥是否存储在数据库中,如果是,则登录无效,否则将密钥保存到数据库。
  2. 根据用户名查询用户信息,然后比较sha1(key + pass_hashed)和password_hashed。

我的问题是我的方法还可以吗?如果是,我可以使用密钥作为时间戳吗?

虽然你的解决方案聊胜于无,但它最终是有缺陷的。这是因为在用户注册过程中的某个时刻,他们只需要发送部分信息。如果此时通过网络捕获信息,则以后可以重复任何登录。

你真的需要SSL

是的,这个组合似乎没问题。您想使用时间戳来生成密钥吗?

如果是这样,您可以从它开始,但尝试不同的组合,以帮助提高安全性。

根据其他用户的建议,您实现的系统不安全,可能会导致安全问题。如果您正在收集客户信息,则必须使用SSL证书。它不会花费更多。起价低至7美元!!

最新更新