生活处处是学问——功能强大的验证码

       看到题目可能有的人就问了,验证码有什么强大之处?每次登录账号的时候要输,注册的时候要输,网上购物的时候要输,连回帖,登qq都要输;有的时候输一遍不行,还得输两遍;中间输错了不行,还得重新输......貌似每天的时间很多都用来输入验证码了。相信每个人都有这样的经历:更换了N次的验证码依然输不对,因为没有一个能看清的嘛!

       随着验证码的推广和使用,网上各式各样的人也在发表着言论,大家貌似都在呐喊着一个声音:老子什么时候才能不用输入验证码???很显然,说这些话的人都是不明白验证码真正的用意是什么,为什么要使用验证码呢?要想知道答案就继续往下看吧!


       什么是验证码?


       验证码(CAPTCHA)是一种区分用户是计算机还是人的公共全自动程序。其实就是将一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰,例如随机画数条直线,画一些点(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。

       验证码可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。


       验证码的作用


       1、防止恶意破解密码

       2、防刷票

       3、防论坛灌水

       4、防止恶意注册

       以防论坛灌水为例,有时你的Web站会碰到客户机的恶意攻击,其中一种很常见的攻击手段就是身份欺骗,它通过在客户端脚本写入一些代码,然后利用其客户机在网站,论坛反复登陆,或者攻击者创建一个HTML窗体,其窗体如包含了你注册窗体或发帖窗体等相同的字段,然后利用"http-post"传输数据到服务器,服务器会执行相应的创建帐户,提交垃圾数据等操作,如果服务器本身不能有效验证并拒绝此非法操作,它会很严重耗费其系统资源,降低网站性能甚至使程序崩溃。


       验证码的分类


       1、纯文本式验证码(比较原始的一种)


       

       这种验证码并不符合验证码的定义,因为只有自动生成的问题才能用做验证码,这种文字验证码都是从题库里选择出来的,数量有限。破解方式也很简单。这种验证码也不是一无是处,对于很多见到表单就来一发的spam bot来说,实在没必要单独为了一个网站下那么大功夫。对于铁了心要在你的网站大量灌水的人,这种验证码和没有一样。

       

       2、图片验证码


       

       这类验证码也是现在主流的验证码,这类图片验证码的原理就是通过字符的粘连增加及其识别的难度。它是由一串随机产生的数字或符号,生成一幅图片, 图片里加上一些干扰,例如随机画数条直线,画一些点。从而加大机器识别的难度,人类通过肉眼就可以比较容易的识别。


       3、问题验证码


       

       问题验证码主要是以问答式的形式来进行填写。它的查看比加模验证码更容易辨别和录入,系统可以生成诸如“1+2=?”的问题让用户进行回答,当然这样的问题是随机生成的。另一种问题验证码,则是文字式的问题验证码,诸如生成问题“中国的全称是什么?”比如CSDN发表或保存时就需要通过简单的加减乘除计算来提交。这种方式比上面两种更安全了。


       例:12306网站新验证码


       对于验证码的验证方式,不得不提的就是12306推出的新的验证方式,在你购票登录时会出现这样的验证码,如图所示:

       

      很明显的可以看到,它不光将问题设置为了图片,把问题的选项都设置成了图片的样式,如果仅凭肉眼,很容易识别哪个是“话梅”,但如果是机器识别,“话梅”这两个字可能比较容易识别,但是要选匹配的图片,这里面的信息量可就大的多了,想要自动刷票就变得很难实现。据悉,12306验证码改版后,目前所有抢票工具都已经无法登陆。


      总结:


      看完这篇文章,我相信那些讨厌验证码的人也一定会对此改观,任何事物的存在都是有意义的,一个小小的验证码里面也有如此多的学问,虽然有时老输它会很麻烦,但在某种程度上它给我们的生活带了一定的安全。验证码就像一道屏障,让那些黑客望而却步。即使黑客的破解技术在提高,但是验证码的验证方式也在不断地改进。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 27
    评论
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值