UX
Movement是一个专注于界面设计的博客,其创始人 Anthony T 在 Smashing Magazine 上发表了一篇文章《Better
Password Masking For Sign-Up Forms》,文中指出用户进行注册时,隐藏密码是不合适的,不仅会阻碍用户快速、准确地输入,还会遮掩用户的输入错误。在注册页面中,需临时暴露密码,并给出了两个技术方案。下文是 CSDN 对该文的编译。
隐藏密码是用户注册和登录某账户时惯用的做法,以防止用户密码被窥视。隐藏密码是一个很好的安全措施,但当用户注册时,情况似乎就不一样了。当用户注册某网站的账户时,他们希望可以豪不费力、轻松地完成表单填写。但密码的隐藏却阻碍了他们。
密码隐藏适于登录,但不适于注册
用户登录要比用户注册频繁得多。用户只需在创建账户时,进行一次注册即可,而用户每次访问他们的账户时,都需要登录。正因为登录如此频繁,所以用户要避免在其他用户面前键入密码。有时用户需要在网站上向他的朋友或同事展示一些东西,他就需要登录账户来完成。因此,在登录窗口隐藏密码是十分必要的,这样可以保证用户每次登录时,密码不被窥视到。
但在注册窗口隐藏密码就有些不合适了。隐藏密码通常会导致用户输入错误,因为他们无法看到所输入的内容,也无法得知所输入的是否正确。注册时输入错误要比登录时输入错误所导致的后果严重。如果用户在登录时输入错误的密码,他可以重新输入;如果用户在注册时输入了错误的密码,那他登录时就会导致账户被锁,而不得不重设密码。这一切都不能怪用户。这是设计者的错,他们没有让用户很清晰地看到所输入的密码内容。
如果在注册表单中忽略密码确认字段,又会怎样呢?
隐藏密码给用户带来的最大障碍是注册菜单中的确认密码字段。该字段要求用户再次输入密码,并将两次输入的密码进行匹配,以保证所输入密码的正确。在密码隐藏的情况下防止用户错误的输入,是增设该字段目的。
密码确认字段有利也有弊。当用户不得不在两个字段中分别输入密码时,反而更容易出错。糟糕的是,他们需要做更多的工作来改正错误的输入。因为他们无法看到错在哪了,必须删掉字段中所有的输入,再重新输入。密码确认字段不仅会造成更多的输入错误,还会迫使用户做更多的工作,降低了用户的速度,让注册变得更痛苦。
临时暴露的密码可以减少错误输入
隐藏密码,在遮掩密码的同时也遮掩了用户错误的输入,让他们难以发现和修正。大部分用户都是秘密地进行网站注册,一般不会被人窥视到,况且用户只进行一次注册。所以当他们独处时,以纯文本形式显示密码并不像我们想象得那样危险。即便用户在公共场合进行注册,密码被窥视的机会也是很小的。
临时暴露密码可以解决以上的所有问题,这样也方便用户快速、准确地完成输入。临时暴露密码可以减少输入错误,同时可以让用户快速发现并改正错误。用户也不必担心密码被窥视,因为密码暴露的时间是很短暂的,比如,我们只暴露刚输入的字符。偷窥者要想获得这些随机的字符,他必需在几秒内记住它们,而这是十分困难的。如果我们只暴露最新输入的字符,偷窥者需要盯视较长时间才能获取全部密码。
下面列出了临时暴露密码的一些技术方案。
当密码字段获得焦点后,输入内容才暴露
当密码字段获得键盘焦点时,显示密码输入,当失去焦点时,密码自动隐藏。这不仅方便了用户输入,同时也能保证密码的安全。仅当选择了密码字段,用户才能看到他们的输入,这样可以减少错误输入的风险,同时当用户输入其他字段时,也能防止密码被别人窥视。
另一个安全措施是以小字体、浅颜色、斜体来展示用户的密码。这种情况下只有靠近屏幕时才到看清所有字符。经过这种改进后,即便有偷窥者,他也无法看清该密码,除非坐在屏幕的正前方。
另一个选择是,显示新输入的字符,以“*”号隐藏其它字符,这样可以在密码输入的过程中,确认输入的正确。
通过复选框来控制密码的暴露与隐藏
我们也可以提供一个复选框来控制密码的暴露。当用户输入时,密码是隐藏的,当勾选了该复选框,密码就会以文本形式展现出来。这样用户可以检查他们的输入是否正确。这种方法远比增加一个密码确认字段好得多,它可以让用户很容易地看见并修改错误的输入。
平衡安全性与用户体验
一般情况下,遵循设计惯例是明智的。但当该设计耽误了用户的时间,让任务复杂化或增加了出错的概率,那就需要对它进行重新设计。安全性与用户体验之间应取得平衡。安全性高于用户体验,网站将变得难以使用;用户体验高于安全性,用户使用该网站时会感到担忧。如果两者取得了较好的平衡,即使没有遵循设计惯例,用户在使用该网站时也不会遇到任何困难。
分享到:
相关推荐
外贸人必看的有关日期的国际惯例
机械设备安装和安装设计建议惯例.docx
数学建模-公平席位分配问题(比例+惯例法)
唐广庆2建设工程项目招标投标符合国际惯例(更新).pptx
软件开发软件编码规范、惯例和约定对于软件开发人员而言尤为重要
.NET设计规范:约定、惯用法与模式,在.net环境下进行开发设计的经典之作,权威指导.
NET应用架构设计原则、模式与实践.pdf NET应用架构设计原则、模式与实践.pdf
在用户体验和交互设计领域里,任天堂和它的传奇设计师宫本茂做出了大量的贡献。我们今天所习以为常的很多产品和设计,都是从任天堂开始,最终成为行业惯例的:“游戏要有故事情节”,这话今天听上去就像“操作电脑要...
本书虽然是针对.NET平台上的框架设计的,但对其他平台的框架设计同样具有借鉴意义。新版根据.NET Framework 3.0和3.5的新特性做了全面更新,主要关注的是直接影响框架可编程能力的设计问题。遵守这些规范对于使用...
1.1 精心设计的框架所具备的品质 2 1.1.1 精心设计的框架是简单的 2 1.1.2 精心设计的框架设计代价高 3 1.1.3 精心设计的框架充满利弊权衡 3 1.1.4 精心设计的框架应该借鉴过去 4 1.1.5 精心设计的框架要...
《android手机程序设计入门、应用到精通》把android的功能按照...为了在内容的广度和讲解的详细程度上达到最佳的平衡,本书打破惯例,通过单元编排的方式,让读者的学习更有效率,同时也能享受到学习程序设计的乐趣。
程序实现了 用惯例Q值和dhondt 方法分配席位问题,可适用于所有情况
【说明】本节的内容也可以归入附录“设计与编程规范、惯例及约定”中,而不在这里 叙述。 一般地讲,界面设计应包括以下几项: □屏幕环境设置 □字型与字体 □颜色 □提示 □菜单(Menu) □按钮(Command Button) ...
在2002年4月的ICC银行委员会会议上,各国代表对何时、如何修订UCP500未达成一致意见(我国赞成立即开始修订),但一致同意先对产生最多争议的七个条款进行评议。因为ICC提出的专家意见中超过58%集中在UCP500这七个...
为了在内容的广度和讲解的详细程度上达到最佳的平衡,《Android手机程序设计入门、应用到精通(附DVD光盘1张)》打破惯例,通过单元编排的方式,让读者的学习更有效率,同时也能享受到学习程序设计的乐趣。 《Android...
《跟单信用证统一惯例中文版》(UCP600).pdf
四制定价格条款及相关国际惯例解读.pptx
命名惯例和规范(C#)引用
为了在内容的广度和讲解的详细程度上达到最佳的平衡,《Android手机程序设计入门、应用到精通(附DVD光盘1张)》打破惯例,通过单元编排的方式,让读者的学习更有效率,同时也能享受到学习程序设计的乐趣。 《Android...