一个Captcha的思路
浏览:2155次 出处信息
Captcha――或者很山寨的说――图形验证码,是一个让人又爱又恨的技术。一方面它给正常用户增加了额外的负担,降低可用性;另一方面没有它,你一定迟早碰到 spam 的问题。
我想大家都在致力于提高 Captcha 的可用性,即设计出"人"可以轻松识别,但是对机器(ANN/SVM)却很困难的技术。每当看到Google那样扭曲到变态的图标,正常用户都会感到愤怒。
我以前看到一个比较有意思的方法是,让用户把一副图片旋转成正确的角度:比如一个凳子的图片,人类很轻松就知道应该四脚朝下,椅背方向朝上;但机器恐怕比较难做到这点。
后来有一天我想到一个主意。人类的眼球有一个特性,就是只要切换速度足够快,那么可以感觉到一幅幅静止的图片动起来;甚至类似隔行扫描(A场、B场)那种技术,人类神经可以自动把一幅幅残缺的图片拼凑成整张。电视正是这么干的:
我的想法是借助动态gif,每一帧都有大量噪点(电视这个例子上是每一帧都有50%的噪点?),但噪点位置帧和帧之间都不一致,组合起来后或许能被人类自动忽略,而关注在我们希望展示的内容上。因此还特意研究了一下动态gif的技术(http://www.dup2.org/node/1250)。但最后没有得到一个好结果,就中止研究了。不过有了这样一个结论:一定要让背景(内容)和前景(噪声)同时运动,否则识别难度没有本质提高。
本来这个属于失败的研究,不打算blog的,可是看到了一个新出来的 Captcha 服务:NuCaptcha,也是同时有动态背景和动态前景。那么这个思路可能还是值得分享一下
建议继续学习:
- CI框架里用的验证码 (阅读:4672)
- 验证码的几个常见漏洞 (阅读:3136)
- pytesser:图片验证码识别 (阅读:2945)
- 实现动态验证码的思路 (阅读:1866)
- 验证码的使用场景小议 (阅读:1801)
- 浅谈Web安全验证码 (阅读:1096)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:python-django的中文编码总结
后一篇:如何写产品需求文档(附PRD案例) >>
文章信息
- 作者:qyb 来源: BT的花 blogs
- 标签: Captcha 验证码
- 发布时间:2010-07-05 23:24:54
近3天十大热文
- [156] Go Reflect 性能
- [19] [译]Google Chrome中的高性能网
- [17] 在FreeNAS/BSD搭建基于Nginx+
- [16] 关于Linux的文件系统cache
- [14] Linux常用系统信息查看命令
- [14] 最近总结的一些技巧(vim,python,s
- [12] PHP加速器 eaccelerator 缓存
- [11] 什么是DNS劫持和DNS污染?
- [11] 精于图片处理的10款jQuery插件
- [10] base64_encode 和 urlenc