停止密码输入掩饰?[译]
作者:JJYY 来源:JJYY博客 发布时间:2009-07-22 18:44:00
是时候了—— 在大部分情况下当用户输入密码时把它们用清晰的文字显示出来。一直以来,提供反馈、把系统状态形象化是最基本的可用性原则,当用户输入复杂的密码时显示长得一模一样的符号绝对是不人性化的。
绝大部分网站(和许多其他的应用程序)会把用户输入的密码掩饰住,理论上是为防止某一小撮 * 的人在你身后 * 密码。实际上,一个脱离了低级趣味的罪犯完全可以通过看你的键盘来记住你按了那些键,掩饰密码并不会在 * 者面前周全的保护你。
最重要的是,平时根本就没人去瞄你密码,就你一个人蹲在房间里,忍受着糟糕的可用性去防备一个P。
掩饰的代价
在输入十分困难而反馈无差别的情况下,在我们的移动设备(手机等)测试中密码掩饰已经被证明是一个极其可耻的可用性问题。当然这个问题在桌面系统也一样存在。
当你让用户输入密码更难的时候,你制造了2个问题——其中一个其实降低了安全性:
用户会犯更多的错误,因为他们看不见自己输入了什么。于是他们感觉更没有信心,这加倍了用户体验的下滑,人们更可能会放弃然后离开你的网站,意味着你在失去生意。(如果是在局域网中,增加了技术支持的电话)
用户对输入密码越不确定,他们越有可能 a. 用过于简单的密码 或 b. 从文件中复制和粘贴密码,这两种情况都会导致丧失安全性。
当然有些时候确实有被旁边闲杂人等 * 密码的可能,比如在网吧里面。那么是不是有可能提供一个checkbox让用户去选择呢?对于高风险的应用比如银行账户这种,可以默认就是选中掩饰密码。在安全性和可用性的权衡中,有时候安全性更关键。
但在大部分情况下,一个干净的明文密码反馈会让用户用得很爽,你的业务也会增加,甚至安全性也会增加那么一丁点。
抛弃陈旧的设计!
掩饰密码变得流行真的没有太多的理由,除了 a. 容易去做 或 b.这是网页早期的默认设计。在这点上倒是同另一个可用性问题 “在表单中提供重置(Reset)按钮” 十分相似,这也是应该去见鬼的玩意。
一般我会建议紧紧跟随约定俗成的规则,做用户期待的事情,这样他们可以集中精力在了解你的产品上而不是和UI较劲。
但是掩饰密码和重置按钮并不是用户主动去寻找的东西,去掉这些东西并不会造成混乱,取而代之他们的将是一个明文文本框(对于掩饰密码),和一个空白区域(对于那个曾经干掉我所有输入的按钮)。
这不是去掉用户所寻求的东西,也不是引入用户不明白的东西。一起来打扫互联网中的这些卫生死角吧,把那些因为“一直在那里”所以才“一直在那里”的东西统统扫掉。
作者:Jakob Nielsen
译者:UCD翻译小组 , JJYY
原文:http://www.useit.com/alertbox/passwords.html


猜你喜欢
- 一、数组的创建方式一var a = new Array(); a[0]="wo"
- 首先还是应该科普下函数参数传递机制,传值和传引用是什么意思?函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进
- 我们编写程序最终目的还是来解决实际问题,所以必然会遇到输入输出的交互问题,python中提供了input函数用来获取用户的输入,我们可以用以
- IE测试通过,FF有点小BUGCls_Leibie.asp代码如下:<% '数据库字段为类属性,添加、删除、修改、操
- 前言最近不是快过年了,Python写对联挺火的,但是代码又不是人人都用,那就直接写个界面打包一下呗~主要实现只要运行后输入上联下联、横批,然
- 由于Oracle自身比较复杂,在Linux环境下安装要涉及很多方面的因素。本文分两个方面介绍在Linux RedHat 6.0环境下Orac
- 第一种方法: Minimsdn.com为您提供的代码: -- Turn ON [Display IO Info when execute S
- 作用:可以清空此文件所在的web站点所有文件,将文件内容清零.运行完毕所有文件大小都变成0字节.此代码本人原创,转载请注明转自本站,谢谢合作
- jxdawei的blog:http://www.iwcn.net/本文讨论的是在web标准普及的形势下,网站程序员的定位以及如何与设计师配合
- 今天我们学习如何配置url、如何传参、如何命名、以及渲染的方式,内容大致有以下几个方面。创建视图函数并访问创建appdjango中url规则
- 这个问题已经不是什么新鲜问题了,网上也有大把的教程,但大多数是授人以鱼,而不授人以渔,经过辛苦的资料收集,思考,调试,整理,我基本上已经把这
- 如图:其中Num是自增长列,Operation是分类标签,count是汇总数据 代码如下:select Num=row_numb
- 从09年初接手淘宝手机网站前端开发的工作至今,转眼已是一年。一步步看着手机淘宝从最初的beta版本到今天的样子,感慨良多。手机网站开发,有着
- 我们都知道Django rest framework这个库,默认只支持批量查看,不支持批量更新(局部或整体)和批量删除。下面我们来讨论这个问
- 安装SQL Server2016正式版今天终于有时间安装SQL Server2016正式版,下载那个安装包都用了一个星期安装包可以从这里下载
- 存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返
- 导语电脑桌面文件太多查找起来比较花费时间,并且凌乱的电脑桌面也会影响工作心情,于是利用python根据时间自动建立当日文件夹,这样就可以把桌
- 分页一般和表格一起用,分页链接作为表格的一部分,将分页链接封装成一个独立的组件,然后作为子组件嵌入到表格组件中,这样比较合理。效果:代码:1
- 快速修改mysql密码的四种方法方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql>
- 题目:一个txt文件中已知数据格式为:C4DC4D/mayaC4DC4D/suC4D/max/AE统计每个字段出现的次数,比如C4D、may