国内好多人将验证码翻译为Validation Code,但是只要我们Google下,就会发现这是个Chinglish翻译.
验证码的来源
验证码的英文CAPTCHA 这个词最早是在2002年由卡内基梅隆大学的Luis von Ahn、Manuel Blum、Nicholas J.Hopper以及IBM的John Langford所提出。关于CAPTCHA,详见http://en.wikipedia.org/wiki/CAPTCHA:
A CAPTCHA or Captcha (pronounced /ˈkæptʃə/) is a type of challenge-response test used in computing to ensure that the response is not generated by a computer. The process usually involves one computer (a server) asking a user to complete a simple test which the computer is able to generate and grade. Because other computers are unable to solve the CAPTCHA, any user entering a correct solution is presumed to be human. Thus, it is sometimes described as a reverse Turing test, because it is administered by a machine and targeted to a human, in contrast to the standard Turing test that is typically administered by a human and targeted to a machine. A common type of CAPTCHA requires that the user type letters or digits from a distorted image that appears on the screen.
The term "CAPTCHA" (based upon the word capture) was coined in 2000 by Luis von Ahn, Manuel Blum, Nicholas J. Hopper, and John Langford (all of Carnegie Mellon University). It is a contrived acronym for "Completely Automated Public Turing test to tell Computers and Humans Apart." Carnegie Mellon University attempted to trademark the term,[2] but the trademark application was abandoned on 21 April 2008.[3]
CAPTCHA 是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机和人的公共全自动程序。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。
验证码的作用
防止:恶意破解密码、刷票、论坛灌水
有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上是用验证码是现在很多网站通行的
方式(比如招商银行的网上个人银行,百度社区),我们利用比较简易的方式实现了这个功能。虽然登陆麻烦一点,但是对网友的密
码安全还来说这个功能还是很有必要,也很重要。但我们还是提醒大家主要保护自己的密码 , 尽量使用混杂了数字、字母、符号在
内的6位以上密码,不要使用诸如1234之类的简单密码或者与用户名相同、类似的密码 ,免得你的账号给人盗用给自己带来不必要的
麻烦。
验证码一般是防止批量注册的,人眼看起来都费劲,何况是机器。二像百度贴吧未登录发贴要输入验证码大概是防止大规模匿名
回帖的发生。目前,不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。所谓验证码,就是将一串随机
产生的数字或符号,生成一幅图片, 图片里加上一些干扰,例如随机画数条直线,画一些点(防止OCR),由用户肉眼识别其中的
验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。
一般注册用户ID的地方以及各大论坛都要输入验证码.
常见的验证码
1.四位数字和字母,可能都是字母,也可能都是数字,随机的4位字符串,最原始的验证码,验证作用几乎为零。CSDN网站用户
登录用的是GIF格式,目前常用的随机数字图片验证码。图片上的字符比较中规中矩,验证作用比上一个好。没有基本图形图像学知
识的人,不可破!可惜读取它的程序,在CSDN使用它的第一天,好像就在论坛里发布了,真是可怜!
2.汉字是注册目前最新的验证码,随机生成,打起来更难了!例如QQ申诉页面
3.MS的hotmail申请时候的是BMP格式, 随机数字+随机大写英文字母+随机干扰像素+随机位置。
4.韩文或日文,现在跑跑HF上MS注册都要打韩文的,这更增加了难度,要去修学下才行。
5.Google的Gmail注册时候的是JPG格式,随机英文字母+随机颜色+随机位置+随机长度。
6.其他各大论坛使用的是XBM格式,内容随机。
7.问题验证码:问题验证码主要是以问答式的形式来进行填写。
它的查看比加模验证码更容易辨别和录入,系统可以生成诸如“1+2=?”的问题让用户进行回答,当然这样的问题是随机生成
的.
另一种问题验证码,则是文字式的问题验证码,诸如生成问题“中国的全称是什么?”,当然有些网站还在问题后面给出了提示
答案或直接答案。
4位黑白验证码的制作
首先生成4位字符串,写入图片控件中,然后画10条左右的直线(位置随机),再画70个左右的点(位置随机),这样就做好
了,有些论坛验证码还会有颜色