2017-02-19 50 views
0

注册帐户或重置Web服务密码时,用户通常需要输入两次密码才能确保密码不会意外拼错。应该重新输入密码也发送到服务器?

如果意外拼写错误是此功能的唯一的考虑因素,这是可以接受的(甚至更好,从网站设计的角度来看)的重新输入的密码通过浏览器/客户端的JavaScript来验证,而不是被发送到服务器验证。

我说的意外拼写错误是只有考虑这个功能?

+0

是的,这听起来对我来说是正确的。只需立即哈希,比较哈希,然后如果它们匹配,通过https发送一个哈希到您的服务器。 – Jameson

+0

@Jameson为什么要在发送到服务器之前对密码进行散列处理?这将使得哈希在逻辑上成为用户的密码 - 拦截哈希的人可以模拟用户。现在我通过HTTPS发送真正的密码,然后在将服务器存储到我的数据库之前对服务器进行腌制和哈希处理。 – Bernard

+0

我没有看到比较哈希而不是价值的观点,也没有为哈希带来哈希。是的,这只是一个用户的便利... – dandavis

回答

0

这有点迂腐,但确认字段是意外误 - 条目而不是拼写错误,因为给定密码的性质。

要回答你的问题;是的,密码重新输入字段仅用于验证用户的输入。

JavaScript可用于确保条目满足密码要求(长度,特殊/有效字符,强度等),但如果用户禁用JavaScript,该怎么办?在这种情况下,您必须编码密码才能在服务器端进行验证。此外,由于代码是客户端,因此可能会被篡改以绕过您的支票(有些人只是喜欢破坏东西)。最重要的是,从网页设计的角度来看,客户端需要下载更多的代码才能实现这一目的,而不是发布额外的表单字段,因此在考虑移动时会有额外的(尽管非常小的)数据使用开销。

但是,所有这些都是不必要的。如果您的密码重设过程安全可靠(例如需要验证电子邮件地址),那么您可能无需用户验证他们是否输入了他们的意思。您需要一个流程来删除未经过验证的帐户,以防他们错误地输入了他们的电子邮件地址......除非让他们输入两次他们的电子邮件地址;)例如,基于Stack Overflow只需要我在注册时输入一次密码,这似乎是本网站使用的方法。

希望这会有所帮助。

相关问题