一个Captcha的思路
浏览:2279次 出处信息
Captcha――或者很山寨的说――图形验证码,是一个让人又爱又恨的技术。一方面它给正常用户增加了额外的负担,降低可用性;另一方面没有它,你一定迟早碰到 spam 的问题。
我想大家都在致力于提高 Captcha 的可用性,即设计出"人"可以轻松识别,但是对机器(ANN/SVM)却很困难的技术。每当看到Google那样扭曲到变态的图标,正常用户都会感到愤怒。
我以前看到一个比较有意思的方法是,让用户把一副图片旋转成正确的角度:比如一个凳子的图片,人类很轻松就知道应该四脚朝下,椅背方向朝上;但机器恐怕比较难做到这点。
后来有一天我想到一个主意。人类的眼球有一个特性,就是只要切换速度足够快,那么可以感觉到一幅幅静止的图片动起来;甚至类似隔行扫描(A场、B场)那种技术,人类神经可以自动把一幅幅残缺的图片拼凑成整张。电视正是这么干的:
我的想法是借助动态gif,每一帧都有大量噪点(电视这个例子上是每一帧都有50%的噪点?),但噪点位置帧和帧之间都不一致,组合起来后或许能被人类自动忽略,而关注在我们希望展示的内容上。因此还特意研究了一下动态gif的技术(http://www.dup2.org/node/1250)。但最后没有得到一个好结果,就中止研究了。不过有了这样一个结论:一定要让背景(内容)和前景(噪声)同时运动,否则识别难度没有本质提高。
本来这个属于失败的研究,不打算blog的,可是看到了一个新出来的 Captcha 服务:NuCaptcha,也是同时有动态背景和动态前景。那么这个思路可能还是值得分享一下
建议继续学习:
- CI框架里用的验证码 (阅读:4852)
- 验证码的几个常见漏洞 (阅读:3329)
- pytesser:图片验证码识别 (阅读:3129)
- 实现动态验证码的思路 (阅读:2100)
- 验证码的使用场景小议 (阅读:1938)
- 浅谈Web安全验证码 (阅读:1675)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:python-django的中文编码总结
后一篇:如何写产品需求文档(附PRD案例) >>
文章信息
- 作者:qyb 来源: BT的花 blogs
- 标签: Captcha 验证码
- 发布时间:2010-07-05 23:24:54
近3天十大热文
- [68] Go Reflect 性能
- [68] 如何拿下简短的域名
- [67] Oracle MTS模式下 进程地址与会话信
- [62] IOS安全–浅谈关于IOS加固的几种方法
- [61] 图书馆的世界纪录
- [60] 【社会化设计】自我(self)部分――欢迎区
- [58] android 开发入门
- [56] 视觉调整-设计师 vs. 逻辑
- [49] 给自己的字体课(一)——英文字体基础
- [48] 读书笔记-壹百度:百度十年千倍的29条法则