有很多技术可以在网站上强制使用强密码:
另一方面存在缺点,因为所有这些都会让用户的生活变得不那么容易,这意味着更少的注册。
那么,你使用什么技术?哪个提供最佳保护与不便比率?
要清理,我不是指银行网站或存储信用卡的网站。想想仍然需要注册的热门(或不那么热门)网站,请多考虑一下。
答案 0 :(得分:24)
我认为不可能强制执行强密码,但您可以做很多事情来尽可能地鼓励它们。
我喜欢使用的一个优秀技巧是让密码的失效日期与密码分数相关联。因此,不需要经常更改密码。如果您可以向用户提供有关他们所选密码的生存时间的直接反馈(并动态更新它以便他们可以看到添加字符如何影响日期),那么特别。
答案 1 :(得分:8)
不执行任何操作......如果您不保护财务信息或同等重要的内容,请不要使用户选择强密码。
我在需要注册论坛等的整个网站上都有相同的弱密码。我真的不在乎是否有人猜到它并且可以像我一样发布消息(并且不认为有很多动机有人这样做)。我不能做的是记住十几个网站的不同强密码,并且真的不想使用另一个软件来管理它们。
最好的妥协方案是向用户展示一些关于密码强度的反馈(根据字典是否为字典,不同字符数量,长度等)。
答案 2 :(得分:2)
为什么强制执行呢?
我发现“密码强度计”(在您键入时表示密码强度的条形码)通常是一种很好的非侵入性措施。它让那些关心安全的人对密码缺乏感到内疚,但却不会让那些不关心密码的人感到沮丧。
此外,还有一篇关于why periodic password change policy is a bad idea with today's threat model的精彩文章。
答案 3 :(得分:2)
根据我的经验,它确实取决于网站的类型,正如您所说。
如果您要创建银行或金融网站,则用户通常会了解您是否拥有更安全的密码,因为他们的个人数据可能存在风险。
但是对于通常不包含大量个人信息的网站,更简单的密码就可以了。他们可能不太容易进行黑客攻击,也不会得到任何有价值的东西。
我还发现大多数人似乎也经常使用一些密码。一个很复杂,另一个很简单。因此,要求他们使用复杂的密码通常不会让人们注册。
我从未发现过期密码能够成功运行。正如我之前所说,许多人已经拥有了他们经常使用的一组密码,因此要求他们仅为您的网站访问这些密码可能会让他们不想回来。
答案 4 :(得分:1)
最好的方法取决于您的网站和您正在使用的内容。但理想的方法是在提交之前尽可能多地在客户端做。使用RegEx是一种好方法。如果你可以让他们不必再提交表格,这是理想的。
答案 5 :(得分:1)
在让密码过期时,这种做法存在两个值得注意的问题:
编辑:这并不是说我反对整个想法,而只是需要与其他因素一起考虑。
答案 6 :(得分:1)
有一个Ajax工具,PasswordStrength,可以让用户知道他们的密码是否有用。我喜欢它,因为它不必禁止创建密码。
http://www.asp.net/AJAX/AjaxControlToolkit/Samples/PasswordStrength/PasswordStrength.aspx
答案 7 :(得分:0)
我从来没有看到过这样做,但似乎它可以很好地工作:密码创建页面可以有一个可扩展的列表,例如,最多50个common passwords,迫使用户向下滚动在输入密码之前咬一下。结合Checkers的建议,这将有助于防止粗心的选择。
然而,解决了防止密码重用的问题......没有任何线索。