保安的故事
作者:白鸦 来源:白鸦blog 发布时间:2009-12-28 13:02:00
两个多月来唯一一次有时间哄么么睡觉,我先给他讲了遍《从前有座山》,还是不睡。又给他讲了这个“保安的故事”:
小A是名很敬业的保安,负责保护客户放在保险库里的钱。
保险库的门上有一把防盗锁,客户有钥匙,应该说很安全。
不久,小A发现一些聪明的偷盗者可以打开防盗锁。于是,小A在保险库的门上又加了一把锁,他心里踏实了。客户每次取钱的时候,需要分别打开两把锁,客户觉得小A做的很好,很有安全感。
不久,小A又发现一些更聪明的偷盗者可以同时打开两把锁。于是,小A就又加了一把锁,他心里更踏实了。但,客户每次取钱变得麻烦起来,不过至少钱没丢客户还是满意的。
不久,小A再次发现一些顶尖的偷盗者可以同时打开三把锁。于是,小A就又加了一把锁,而且锁的开法和以前的还不一样,这次他心里又踏实了。
。。。
很快,保险库的门上挂了几十把锁。而且每把锁的开法都不一样,什么锁用什么钥匙打开也没有记号。小A终于可以彻底踏实了。因为,连客户都打不开自己的保险库了。
最终,客户换了一个保险库。和保安。
——————————————————————————————————————–
两年前,我在饭局上问某杀毒界的大佬:杀毒产品的安全和易用性,往往有很大冲突。你得不停的弹出窗口问我“是否允许访问”,才能更好的保证电脑的安全。但,不停的问其实是一种易用性很不好的表现。
他这样回答我:杀毒产品最基础的东西是“电脑安全”,这没错。很多人认为:为了安全可以牺牲一切东西,即使是给用户带来麻烦。但我们忽略了另外一个问题“其实用户也不知道是不是该允许”。而且,刚开始他还会去考虑(虽然考虑的也可能不对),但慢慢的他自己都懒得去考虑“是不是该允许”,随口就回答了你,而且他并不会觉得你这是“安全”,而是“烦人”!
最后,你会发现把问题抛给了用户,往往并不能得到正确的答案,只是自己心里上觉得“少了一种责任”。
在一开始的时候,我们确实没办法用系统来判断问题,不得不去问用户“是否允许”,因为我们真的不知道“该不该允许”。而我们必须得去保证用户电脑的安全。
但,随着我们经验越来越多,装机量越来越大,我们知道了“什么是安全的,什么不是安全的”,可以说我们的病毒库更新比用户要快要早,这个时候我问他还不如问我自己,至少我可以做到一万个数据和行为一样的用户,我只需要问一个人。
所以,安全和易用性的问题,看起来是个大问题。但只要我们有意识去强调“让系统做更多的事情”,这就不会再成为一个问题。
一年半前,在另外一个饭桌上,我问了另一位杀毒界大佬同样的问题,他的回答几乎一样:这个问题,随着我们的经验和系统能力提升,就不再是问题。只要我们能意识到不再去把问题抛给使用者。
我想,也许安全和易用性的问题可以分两方面来看:
1、易用性只是用户体验过程中的一个中间环节,而安全是基础环节。 安全是最基础的用户体验,没有安全就不要去谈什么用户体验。
抛开安全谈易用性,易用性是做到极致了,安全没了;抛开易用性去谈安全,安全是做到极致了,易用性没了。安全和易用性必须一起来考虑,这是一个无法回避的问题。
2、安全问题还是应该交给系统完成,而不是甩给用户。即使当我们还不能完全做到系统完成的时候,把一些选择甩给了用户,至少也得让用户感受到“这不是负担,而是一种无微不至的服务”。
至于如何让系统来完成,只要去做,总会有改观的。先得改变的还是这个意识。
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 当后端并未编写后台json数据,但是前端又要使用数据进行页面的编写,这是便可用mockjs编写一个假的数据源,发送ajax请求并获取数据1.
- 1、Window.onerror事件onerror事件用来协助处理页面中的JavaScript错误。当页面上出现异常时,error事件便在w
- 一、设置环境在 Ubuntu 机器上安装 SQL Server 2017和安装运行 GoLang 所需的依赖项。1.1、安装 SQL Ser
- 本文实例讲述了python实现linux下使用xcopy的方法。分享给大家供大家参考。具体如下:这个python函数模仿windows下的x
- 在上一篇Python接口自动化测试系列文章:Python接口自动化浅析yaml配置文件原理及用法,主要介绍主要介绍yaml语法、yaml存储
- 思路:利用栈实现代数式中括号有效行的的检验:代码:class mychain(object): #利用链表建立栈,链表为父类 length=
- C语言是编译型语言,经过编译后,生成机器码,然后再运行,执行速度快,不能跨平台,一般用于操作系统,驱动等底层开发。Python是编译型还是解
- Django的权限系统很简单,它可以赋予users或groups中的users以权限。Django admin后台就使用了该权限系统,不过也
- 为了配置基于 mod_python 的 Django,首先要安装有可用的 mod_python 模块的 Apache。 这通常意味着应该有一
- 一、需求说明需要使用Python实现将内容转为base64编码,解码,方便后续的数据操作。二、base64简介Base64是一种二进制到文本
- MySQL安装说明MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle旗下产品。MySQL 是最流行
- python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。smtp协议的基本命令包括:HELO 向服
- 可能大多数人在学习C语言的时候,最先接触的数据类型就是字符串,因为大多教程都是以"Hello world"这个程序作为入
- 本文实例讲述了Django框架实现的普通登录。分享给大家供大家参考,具体如下:1.显示登录页面a.设计url,通过浏览器访问http://1
- 1、将mysql数据导出到SQL文件中(数据库存在的情况)主要需要修改数据库的相关信息,端口号、用户名、密码等其中数据库得存在,不然会报错
- 前言数据清洗是一项复杂且繁琐(kubi)的工作,同时也是整个数据分析过程中最为重要的环节。有人说一个分析项目80%的时间都是在清洗数据,这听
- 不管是用import还是用from mmmm import *的方式导入模块,当程序运行之后,回头在看那个存储着mmmm.py文件的目录中,
- 我正在参加天池上的一个竞赛,刚开始用的是DenseNet121但是效果没有达到预期,因此开始尝试使用模型融合,将Desenet和Xcepti
- 使用tkFileDialog实现文件选择、保存和路径选择概述看了下Tkinter的文档,对于Pop-up dialog有三类,现在用到的是t
- 本文实例讲述了PHP开发之归档格式phar文件概念与用法。分享给大家供大家参考,具体如下:一个php应用程序往往是由多个文件构成的,如果能把