sotapi 发表于 2013-5-28 13:20:27

[转]多说两句图片验证码

图片验证码,作为差不多最早和最简单易行的CAPTCHA,被广泛采用。

1
CAPTCHAs Completely Automated Public Turing test to tell Computers and Humans Apart
全自动区分计算机和人类的图灵测试,这个问题可以由计算机生成并评判,但是必须只有人类才能解答。或许人可以问出只有人类能够回答的问题,但让计算机问出只有人类能回答的问题?木有能力证明,直觉有点不靠谱。

绝对做不到,相对做到也很有用。怎样才能让问题更适合人而不是机器,就能更适合我们的应用场景。

机器比较难以处理什么:演绎、规划、知识表达,学习、知觉、创造等等。
这些领域了解有限,Google的猫的科学家们或许能够解释更多。

图片验证码基本上可以归为知觉部分,随着技术的进步,越来越依赖更复杂更大信息量的感知,机器处理难了,人处理也难了。



能不能换个办法

改进方案是很多的,有些效果还不错,引用一个介绍:替代验证的六种办法

其中几个感觉比较典型和有意思的分析一下:

技能测试
http://blog.jobbole.com/wp-content/uploads/2013/05/funny-captcha.png


解个微分方程 这个例子极端了点,不过常见简单运算的还是人人都可以的。类似的还可以问same这个单词的第一个字母是啥。这个方法使用了知识表达和演绎能力,如果做成图片方式,则更加安全且易于使用。

简单任务
http://blog.jobbole.com/wp-content/uploads/2013/05/tic-tac-toe.jpg


井字游戏 和解方程原理差不多,不过有趣很多。困难的是,或许有的人真的不会…… 应用了感知,知识表达和演绎。

第三方认证

这是回避问题,不过如果没有足够的资源实现安全的方式,通过第三方是个解决防止暴力破解,转移责任的好方法。

什么都不做

是的,用户什么都不做。但后台要做的更多。

可以根据行为:是否重复尝试?

根据上下文:是否先访问了登录页,再输入账户密码?是否有先阅读用户须知,再注册?

根据内容:类似Akismet阻止垃圾评论的方式。

这些方法,通过实时欺诈检测手段,在基本不影响用户的基础上实现保护。

北大侠客行MUD,中国最好的MUD

hash 发表于 2013-5-28 15:01:37

yct23

suxxx 发表于 2013-5-31 13:12:10

yct10.
页: [1]
查看完整版本: [转]多说两句图片验证码