一个Captcha的思路
浏览:2161次 出处信息
Captcha――或者很山寨的说――图形验证码,是一个让人又爱又恨的技术。一方面它给正常用户增加了额外的负担,降低可用性;另一方面没有它,你一定迟早碰到 spam 的问题。
我想大家都在致力于提高 Captcha 的可用性,即设计出"人"可以轻松识别,但是对机器(ANN/SVM)却很困难的技术。每当看到Google那样扭曲到变态的图标,正常用户都会感到愤怒。
我以前看到一个比较有意思的方法是,让用户把一副图片旋转成正确的角度:比如一个凳子的图片,人类很轻松就知道应该四脚朝下,椅背方向朝上;但机器恐怕比较难做到这点。
后来有一天我想到一个主意。人类的眼球有一个特性,就是只要切换速度足够快,那么可以感觉到一幅幅静止的图片动起来;甚至类似隔行扫描(A场、B场)那种技术,人类神经可以自动把一幅幅残缺的图片拼凑成整张。电视正是这么干的:
我的想法是借助动态gif,每一帧都有大量噪点(电视这个例子上是每一帧都有50%的噪点?),但噪点位置帧和帧之间都不一致,组合起来后或许能被人类自动忽略,而关注在我们希望展示的内容上。因此还特意研究了一下动态gif的技术(http://www.dup2.org/node/1250)。但最后没有得到一个好结果,就中止研究了。不过有了这样一个结论:一定要让背景(内容)和前景(噪声)同时运动,否则识别难度没有本质提高。
本来这个属于失败的研究,不打算blog的,可是看到了一个新出来的 Captcha 服务:NuCaptcha,也是同时有动态背景和动态前景。那么这个思路可能还是值得分享一下
建议继续学习:
- CI框架里用的验证码 (阅读:4679)
- 验证码的几个常见漏洞 (阅读:3142)
- pytesser:图片验证码识别 (阅读:2952)
- 实现动态验证码的思路 (阅读:1870)
- 验证码的使用场景小议 (阅读:1804)
- 浅谈Web安全验证码 (阅读:1115)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:python-django的中文编码总结
后一篇:如何写产品需求文档(附PRD案例) >>
文章信息
- 作者:qyb 来源: BT的花 blogs
- 标签: Captcha 验证码
- 发布时间:2010-07-05 23:24:54
近3天十大热文
- [16] Go Reflect 性能
- [15] 浏览器的工作原理:新式网络浏览器幕后揭秘
- [14] iTerm2 (Mac Terminal)
- [14] iOS可视化编程 Tips 之“无需代码设置
- [13] 浅谈Web安全验证码
- [12] 基于HTTP缓存轻松实现客户端应用的离线支持
- [12] 手把手教你CSRF防护
- [12] 界面设计速成
- [11] 最萌域名.cat背后的故事:加泰与西班牙政府
- [11] iOS并发编程(Concurrency Pr