`
阿尔萨斯
  • 浏览: 4178843 次
社区版块
存档分类
最新评论

只有方法没有答案

 
阅读更多

几天前看到的这个关于密码遮盖(Password Masking) 问题 的讨论,顺着链接有找到了一些讨论来看,继而发现相关文章已经有人翻译了(refer ),但中文技术社区好像很少见到讨论(也可能是我孤陋寡闻)。

这是个令人印象深刻的话题,因为挑战的是习惯性的设计方式。放眼看去,所有需要输入密码才可登录的网站都是遮盖密码的。密码遮盖带来的坏处是显而易 见--用户的输入成了盲区,不知道自己输入的是否对,点击登录变成了变相的试错操作,产生比较多的再次登录操作,对给用户造成非常糟糕的使用感受。然而似 乎很少有人如何去考虑改进这个现状。关注别人视而不见的问题才会带来革新与创新,要不怎么说人家 Jakob Nielsen 是用户体验方面的大牛呢,要从别人口中出来这个论断可能会被人笑话,而大牛就敢于挑战常规,弄个问题就给大家带来思考了--扯远了。

似乎多数人赞同添加一个额外的检查框(CheckBox),安全性要求不高的应用,默认不遮挡,用户输入完毕之后,再选择旁边的检查框对密码进行遮挡;对于安全性要求比较高的应用,默认密码遮挡,但可以选择显示一下密码明文一下,方便用户检查是否有拼写错误。

如果你用过苹果的产品,比如 iPhone 新 OS 3.0 的版本,你会发现密码的处理又进了一步,密码输入时是显示明文的,方便用户确认没有输错,在几秒钟后或者输入下一个字符的时候再对这个字符遮盖。(很多移动厂商好像现在都这么设计了)

iPhone_Password_Masking.png

(截图有点喧宾夺主,对付着看吧)

这个想法真的很让人欣赏,对于手持设备能够比较有效的防止了窥探(peeking over your shoulder),也减少了用户输入错误的频率。只是不知道是不是已经被手机厂商申请了专利。对于大屏幕显示器来说,窥探的可能性有多大?缺乏数据支 持,很难说明。或许,这里的安全专家的分析 对质疑者也会有点帮助。

其实我觉得密码遮盖问题在用户初次注册的时候带来的问题尤其严重 。在这个环节如果添加一个 CheckBox 要用户知道自己连续两次输入的密码是什么应该是有必要的(有人举手同意麽?) ,否则的话,用户要的密码可能不是自己输入的,短时间内连续两次输入,出现键入错误的几率并非不存在。

好吧,现在开始审视一下自己的网站登录框设计以及注册页面吧...新的问题或许是,你有勇气做点修改麽?


如果觉得上面说的都是废话,那么不妨考虑这两个问题:

  • 为什么我们之前就没考虑到这一点?
  • 如何才能先于别人一步想到这一点?

--EOF--

分享到:
评论

相关推荐

    操作系统精髓与设计原理答案

    答案:如果一个处理器在尝试着读或者写存储器时被挂起, 通常除了一点轻微的时间损耗之外没有任何危害。但是,DMA可能从或者向设备(例如磁盘或磁带)以数据流的方式接收或者传输数据并且这是不能被打断的。否则,如果...

    微软面试题(本人苦心收集,附有答案)

    网上有不少Microsoft的测试题,引来不少的眼光。在这里把所有的测试题加以整理,再附上答案。(个别题目答案有多种,文本仅代表作者的思路)每道题的后面会给出一个...这种题大多数没有答案,但是要看你的反应喽!)

    软件开发中没有所谓正确的方法

    驱动测试开发(TDD)是能让你写出没有bug的程序的方法。只有结对编程是可行的。我们之所以成功是因为我们使用的是远程开发人员。等等等等……  像这样的话每天我都能看见。  像这样的风言风语十分能蛊惑人心,...

    Thinking in Java(中文版)带有课后题答案完整版

    如孤立地看,有些特性是没有任何意义的。只有在考虑“设计”、而非考虑简单的编码时,才可真正体会到Java的强大。为了按这种方式理解Java,首先必须掌握它与编程的一些基本概念。本书讨论了编程问题、它们为何会成为...

    帆软初级证书题库及答案

    7. 目前决策报表报表块滚动的方法只能通过JS,没有现成的功能和插件 B 8. 设置自适应后,单元格多的情况下,单元格只能缩小到一定比例,再缩小依旧会出现滚动条 A 9. 散点图通常用于显示和比较的数值,所以散点图的...

    JAVA复习题及答案

    A.Cat类只有 2 个构造方法,而且没有无参数的构造方法 B.Cat类有 4 个构造方法 C.Cat (int m)和 Cat (double m)是互为重载的构造方法 D.int Cat (int m)和 void Cat (double m) 是互为重载的非构造方法 class ...

    JAVA程序设计判断题题库81道

    9. Java Application程序中,必须有一个主方法main(),该方法有没有参数都可以。( ) 答案:× [考点范围] JAVA简介 10. Java是面向对象的语言,对象是客观事物,对象与之是一一对应,它是很具体的概念。( ) 答案...

    计算机系统结构试题题目答案一应俱全

    4.重叠机器局部相关的处理方法有两类:推后后续指令对相关单元的读和( A.异步流动 C.设置相关直接通路 B.采用顺序流动 D.调整指令流动的顺序 ) 5.在选择通道方式中,优先级高的磁盘等中高速设备,进行输入输出传送...

    计算机应用基础测试答案及解析四.doc

    A、使用小图标 B、锁定任务栏 C、解锁任务栏 D、自动隐藏任务栏 正确答案:D 解析:在设置任务栏时,选定"自动隐藏任务栏"后,只有当鼠标置于任务栏所在位置时 任务栏才显示,否则屏幕上不显示任务栏。参见教材P64...

    数据结构题解(附答案)

    11. 在树形结构中,树根结点没有 结点,其余每个结点有且只有 个前驱结点;叶子结点没有 结点,其余每个结点的后续结点数可以 。 12. 在图形结构中,每个结点的前驱结点数和后续结点数可以 。 13.数据的存储结构...

    软件工程-理论与实践(许家珆)习题答案

     软件特征:只有程序、程序设计概念,不重视程序设计方法。  ② 程序系统阶段。  硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长 。  软件特征:程序员数量猛增,开发人员素质低。  ...

    C语言入门经典(第4版)--源代码及课后练习答案

    该资料是《C语言入门经典(第4版)》的源代码及课后练习答案 对应的书籍资料见: C语言入门经典(第4版) 基本信息 原书名: Beginning C: From Novice to Professional, Fourth Edition 原出版社: Apress 作者: ...

    20春北交《JAVA语言设计》在线作业一-0006参考答案.doc

    数组属于简单数据类型 C.boolean类型数据只有2个值,true和false D.Java中的指针类型和C语言的一样 答案:C 9.下列语句序列执行后,i 的值是( )。 int i=8, j=16; if( i-1 > j ) i--; else j--; A.8 B.7 C.16 D.15 ...

    国际贸易理论与实务+201704+真题及答案.doc

    请考生按规定用笔将所有试题的答案涂、写在答题纸上。 注意事项: 1.本试卷分为两部分,第一部分为选择题,第二部分为非选择题。 2.应考者必须按试卷顺序在答题卡(纸)指定位置上作答,答在试卷上无效。 3.涂写...

    全国计算机二级C05~12真题及答案

    下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上, 答在试卷上不得分。 (1)下列叙述中正确的是 A)循环队列是队列的一种链式存储结构 B)循环队列是队列的一种...

    Java程序设计习题(含答案解析).doc

    一个线程对象的具体操作是由run()方法的容确定的,但是Thread类的run()方法是 空的,其中没有容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方 法,要么使一个类实现Runnable接口并书写其中run()...

    兰大计算机安全技术离线作业答案.docx

    3、没有统一答案,请勿抄袭。 答: 本案例中发生"卡在身上,钱却莫名其妙地被转走了"的主要原因为银行卡信息泄露或被盗取。 一、盗取银行卡信息的方法 (1)伪基站发送钓鱼短信。主要是受害人收到类似10086、95533...

    数据机构C语言 自测题库答案

    10. 在线性结构中,第一个结点 没有 前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结 点 没有 后续结点,其余每个结点有且只有1个后续结点。 11. 在树形结构中,树根结点没有 直接前趋的 结点,其余每个...

    计算机网络习题答案【谢希仁第四版】

    计算机网络习题答案【谢希仁第四版】 、(1)子网掩码为255.255.255.0代表什么意思? (2)某网络的现在掩码为255.255.255.248,问该网络能够连接多少个主机? (3)某A类网络和某B类网络的子网号subnet-id分别为16...

    Java并发面试题整理(答案)

    1、并发编程三要素? (1)原子性 原子性指的是一个或者多个操作,要么全部执行并且在执行的过程...试想,如果单核 CPU 使用单线程,那么只要这个线程阻塞了,比方说远程读取某个数据吧,对端迟迟未返回又没有设置超时

Global site tag (gtag.js) - Google Analytics