【发布时间】:2009-06-17 18:26:44
【问题描述】:
我有一个网站,要求用户使用用户名和密码进行身份验证。我想使用 SSL,但我没有 SSL 证书。但我会做一些我认为还可以的事情。
我的网站主要基于 AJAX 并且 需要 JavaScript,否则将无法正常工作。
当用户尝试登录时,我使用 AJAX 查询数据库以查找该用户名的盐,如果没有找到随机盐(以防止人们知道是否存在具有该用户名的用户或不)。然后,使用 JavaScript 的 MD5 函数,我在客户端对密码进行 4K 次散列和加盐(就像 Linux 使用 MD5 进行密码散列时所做的那样)客户端,然后我将该散列以纯文本形式传递给服务器。然后,这个哈希值会再被哈希几次,并与数据库中的内容进行检查。
这安全吗?如果没有,我怎样才能在不花钱购买大部分内部网站的 SSL 证书的情况下保护它?
【问题讨论】:
-
为什么不创建 SSL 证书?由 VeriSign 签名可能很昂贵,但只有一个应该不是问题。
-
所以...您希望给您的用户一种虚假的安全感?
-
GoDaddy SSL 证书每年低至 12.95 美元。 SSL,而不是本土的身份验证方案,是这里的方式。
-
这里的每个人到底有什么问题,他们觉得有必要大肆侮辱,而不是仅仅为人们指明正确的方向?我的天。
-
@Beska,或者遇到Rich B,他总是这样。