- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * 验证码的英文CAPTCHA 这个词最早是在2000年由卡内基梅隆大学的Luis von Ahn等学者所提出的。 CAPTCHA 是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机和人的公共全自动程序。 这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。 起 源 (1)由4个随机数字组成的最原始验证码:验证作用几乎为零。 (2)GIF动画验证码 : 防垃圾注入可以达到100%,有效的同时能增加网站页面的美观效果。 (3)手机验证码:通过发送验证码到手机,比较准确验证用户的正确性,是最有效的验证码之一。 (4)字符验证码:服务器端随机生成验证码字符串,保存在内存中,并写入图片或者加入干扰线条,将图片连同表单发给客户端。是目前而言最常见的验证码。 * 字符验证码的工作流程 (1)、服务器端随机生成验证码字符串,保存在内存中,并写入图片或者加入干扰线条,将图片连同表单发给客户端。 (2)、客户端输入验证码,并提交给表单,服务器端获取客户提交的验证码,和前面产生的的随机数字相比较;如果相同,则继续进行表单所描述的操作(如登录、注册等);如果不同,直接将错误信息返回给客户端。避免程序的继续运行以及访问数据库。 * 如何破解字符验证码 1、去噪 (1)由于其 背景色 的亮度与文字或者数字的亮度差别较大,这样我们就可以通过 设定亮度域值的方法来对它进行二值化处理,即将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。 (2)对于干扰线的去除,我们通过对水平方向长度超过图片二分之一的线直接去除,因为图片文字本身宽度不可能超过二分之一的图片大小。 * (3)先在x轴方向进行分割:对x轴上每一点,统计y坐标方向上黑点数目。当黑点数目少于设定的域值时候,认为是字符间的空白区,而黑点数目大于设定的阈值时则认为是字符区。 (4)有时存在字符相连的情况,为避免两个相连的字符分割失败,对字符的最大宽度和最小宽度设定阈值 : 当宽度大于最大宽度时候,即认为是两个字符,需要将分割得到的字符继续分割;如果分割得到的字符宽度小于设定的最小宽度,则需要进行合并邻近的两个字符进行分割。 (5)利用同样的方法可以进行y轴方向上的分割。 (6)由于验证码文字的随机性,对分割得到的单个字符进行进一步的边框确定。通过对水平和垂直方向扫描,确定出单个字符的边框。 * 2、将分割出的字符与模版匹配,判别字符类型 (1)模版库的建立: 从网络上采集一系列验证码的样本,建立验证码字符样本空间。 比如为字母A~Z和数字0~9。对于每一个样本,我们提取特征,建立模版。 (2)将得到的图片切割为固定的长度和宽度。先将字符从水平方向进行扫描,则每条扫描线都是由黑点或者白点构成的序列,每条水平扫描线可以用一个向量表示。 将向量分类为N种模式,比如模式0表示长的空白段,而模式1代表长的黑点段。模式2表示一段相对长的白点之后跟着一段黑点。以此类推得到自己设计的模式图。 * (3)用上述的编码方法分别对模版与待识别的字符进行编码,然后计算模版与待识别字符的编码的相似度。 把一个字当做一幅图,从上往下一行行扫描,每一行都是由不同长短的黑色横杠组成的,每种横杠对应着模式图中的一个编码。 取相似度最高的模版字符为识别的结果。 如图所示,数字7的编码为128888699979 * * 上述破解原理可用OCR (Optical Character Recognition): 光学字符识别来实现 1、下载安装Tesseract-OCR引擎 2、 使用Tesseract-OCR引擎识别验证码 * 取出所需要读取的验证码图片 运行之后可得 * * *
文档评论(0)