好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

非请勿过探索验证码背后的秘密.docx

6页
  • 卖家[上传人]:ji****81
  • 文档编号:300614236
  • 上传时间:2022-05-30
  • 文档格式:DOCX
  • 文档大小:144.83KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    •     非请勿过探索验证码背后的秘密    技术宅验证码  掀起你的盖头来老网民可能都知道,在前几年的网络世界,我们几乎看不到什么验证码,验证码是近几年才出现的新生事物,现在几乎每个网站、论坛都会有验证码出现验证码顾名思义就是用来验证用户某种操作(如购物网站提交订单、论坛提交回复、用户注册)的一种技术手段(图1)那么为什么现在网站要推出验证码?验证码的主要作用一是用来防止机器人注册,同时用于验证合法用户的提交泡论坛的朋友都知道,现在论坛里都会有很多广告帖,大部分广告帖都是机器人注册的账号,这样纯水帖给论坛管理带来很大的不便因此为了阻止机器人自动注册账号和自动发布广告帖,很多论坛在注册时引入了验证码机制,通过随机出现的图片或数字密码来阻止机器人的自动注册(图2)验证码的另一个作用则是用来减缓网站服务器的处理压力对于一些大型的网站或论坛,因为同时的用户很多,如12306网站在2015年春运高峰日的PV值是297亿,流量增加1000倍面对这样海量、高并发访问流量,如果用户在提交订单的时候不引入验证码机制来延缓提交,那么网站服务器就会瞬间当机当然验证码的存在也可以阻止机器人自动提交订单(图3)。

      免输入——抢票软件如何自动输入验证码如上所述,验证码的作用主要是阻止类似机器人的自动操作不过使用抢票软件购票的朋友都知道,虽然12306网站在登录、提交订单的时候都用了验证码机制,不过这些验证码并没有给抢票软件造成任何麻烦,它们仍然可以在后台自动输入验证码(图4)这些软件是怎么突破验证码封锁的?其实对于早期12306网站使用的数字(包括字母)方式的验证码,抢票软件是通过OCR识别技术来通过验证的比如上图的验证码字符是“kdte”(验证码一般忽略字母大小写),这样当抢票软件读取到上述图片时,它会将这个图片传输到服务器,这样在服务器上的OCR软件通过扫描就可以快速获得正确的验证码,扫描结果返回抢票软件就可以直接输入正确的验证码了(图5)同样的对于网站其他需要输入验证码的地方,抢票软件都是通过上述方法实现准确的识别和正确的输入,从而实现自动、高效的购票道高一尺魔高一丈——验证与反验证简单字符式的验证码容易被机器识别,为了提高验证码的效率,现在很多网站纷纷使用各种方法来加强OCR识别的难度一些网站使用类似“7+2=?”的简单算术式(用户通过输入正确答案)来作为验证方式,一些网站则使用中文字符来作为验证码,另一些网站如腾讯网站在注册账号页面,则通过为验证码添加背景图片来干扰机器的OCR识别(图6)。

      不过人眼都可以轻松识别,对于机器OCR来说更是小菜一碟,比如类似“7+2=?”简单算术式的验证,除了OCR只要再将识别结果进行简单运算即可获得正确的验证码既然简单字符式的验证码容易被机器识别,于是一些网站开始使用图片式的方法来作为验证码12306网站近日就启用了全新的图片验证方式,当用户在登录12306时,必须使用鼠标在8张图片上点击符合要求的图片,点击后会在图片上留下铁路标记(图7)图片验证码看上去要比字符式的复杂,那么识别起来是不是就更难?其实对于机器识别来说,图片验证码的难度并没有提高多少,字符识别机器是通过OCD扫描识别,图片同样可以借助图片识别技术进行精准的识别相信很多朋友已经使用过百度的“以图找图”功能,这个实际上就是典型的机器图像识别技术(图8)当然就具体操作而言,图片识别流程和OCR相似以上述12306的验证图片为例,图片服务器首先获得网站的验证码图片,然后将8张图片进行编号,并且将图片对应的文字说明一起列出,这样只要找到其中2张文字说明(可以是关键字)相同的做个标记比如上述验证码图片的正确选择是“福娃”,这样服务器获得福娃信息的图片(1、6)后,就会将点击图1、6指令传输给抢票软件,从而实现图片验证码的自动输入。

      因此从技术角度上来说,12036采用图片验证码难度并没有比字符识别增加多少验证码的未来验证码作为一种目前普遍使用的验证手段,除了阻止机器人自动识别外,还是我们日常操作的一个重要保护手段因此各大公司也纷纷在验证码识别技术上进行改进,一些公司通过多种验证的方式加强验证的安全性如现在很多支付网站就推出附加短信验证的保护措施,除了要求输入直接显示的验证码外,还要求输入预先绑定的获取的短信验证码来加强验证(图9)此外,一些公司则通过人类的具体行为和机器的不同来实现验证Google就提出了一个“human behavior analysis”的方案,它的核心是将用户的行为作为判断人与计算机的准则这样推出的验证有很强的人类思维行为,从而杜绝机器的自动识别,有效保证验证码的安全总之,当验证码的存在给我们日常的网络行为(如购票)带来不便时,用户希望通过机器的识别来提高操作效率;而当验证码为支付等操作带来保驾护航时,人们又希望有机器无法识别的验证码来保障安全,鱼和熊掌不可兼得也  -全文完-。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.