开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散
登录网站时必须输入的图片验证码可以用来辨认拜访者到底是人照样机械——这同时也是某种程度上的「图灵测试」,人工智能研究者们寻求破解的偏向,让计算机学会破解验证码,我们就距离通用智能更近了一步(前不久 Vicarious 揭橥在 Science 上的论文就介绍了一种用于破解图片验证码的机械进修新模型)。今天,破解全世界最为风行的图片验证码须要多久?本文作者 Adam Geitgey 告诉你:仅需 15 分钟。
每小我都憎恶 CAPTCHA——这些末路人的图片中包含你必须输入的文字,精确地填写它你才能拜访网站。CAPTCHA 全称「全主动区分计算机和仁攀类的公开图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart)」,旨在确认拜访者是真正的仁攀类,防止恶意法度榜样的入侵。然而,跟着深度进修和计算机视觉技巧的成长,如今这些认证办法可以被我们轻松破解了。
比来,我正在读 Adrian RoseBrock 撰写的《Deep Learning for Computer Vision with Python》。在这本书中,Adrian 应用机械进修破解了 E-ZPass New York 网站上的 CAPTCHA 验证码:
在这里,Adrian 没有接入生成 CAPTCHA 图片应用源代码的权限。为了破解如许的体系,我们必须找到数百张示例图片,然后练习机械进修模型来破解它。
然则如不雅我们想要破解开源的 CAPTCHA 体系——在这里我们拥有所有源代码的拜访权,工作又会若何呢?
我拜访了 WordPress.org (http://wordpress.org/) 插件挂号网站,在个中搜刮「CAPTCHA」。结不雅中显示的第一个内容是「Really Simple CAPTCHA」,已经拥有跨越 100 万次活泼安装了:https://wordpress.org/plugins/really-simple-captcha/。
Note:这并不料味着我们在批驳「Really Simple CAPTCHA」插件及其作者。今朝,插件的作者已表示该款验证码已经不再安然,并推荐用户寻找其他加倍具有安然性的认证方法。但如不雅你真的是这 100 万用户中的一员,或许你应当有所防备了:)
挑衅
起首,我们须要做好筹划,让我们看看 Really Simple CAPTCHA 生成的图片是什么样子。在 Demo 站中,我们看到了如许的情景:
一个 CAPTCHA 图片典范
看起来它会生成由四个字符构成的图片。让我们在这个插件的 PHP 源代率攀琅绫擎确认一下:
- public function __construct() {
- /* Characters available in images */
- $this->chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789';
- /* Length of a word in an image */
- $this->char_length = 4;
- /* Array of fonts. Randomly picked up per character */
- $this->fonts = array(
- dirname( __FILE__ ) . '/gentium/GenBkBasR.ttf',
- dirname( __FILE__ ) . '/gentium/GenBkBasI.ttf',
- dirname( __FILE__ ) . '/gentium/GenBkBasBI.ttf',
- dirname( __FILE__ ) . '/gentium/GenBkBasB.ttf',
- );
没错,它会生成四个字母/数字构成的 CAPTCHA 验证码,每个字符的字体各不雷同,在代码中我们也可以看出验证码中不会包含「O」或者「I」,因为这两个字母很可能会让人与数字产生混淆。所以,我们共有 32 个数字或字母须要辨认。没问题!
推荐阅读
开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散 此刻,或许要脑补很多画面,但我们今天抛开社会舆论和>>>详细阅读
本文标题:仅需15分钟,使用OpenCV+Keras轻松破解验证码
地址:http://www.17bianji.com/lsqh/39801.html
1/2 1