验证码是什么?为什么要验证码?怎么实现验证码?
什么是验证码?
简单的说,英文简称是captcha,全称叫"Completely Automated Public Turing Test To Tell Computers and Humans Apart".意思是"自动区分人类与计算的图灵测试".翻译成人话是:证明你是人,证明你是你.
为什么要验证码?
防止机器人模拟人去做无意义的事,机器人也就程序员.现在验证码越来越难就是程序员相互撕逼的结果.
天下无码,只有天下无贼.
怎么实现验证码?
重点,验证码实现思路,验证码目的是为难计算机,不为难人.
常见的验证码归纳为两种
证明你是人
人和计算机主要区别是:正常人有主观意识,正常的电脑没有
常用方式:
文本验证码
如:一加一等于几?图形验证码
如:看图写字,挑选相同,找你妹语音验证码
如:听写模式和读文字模式互动验证码
如:拖动一下,滑动一下,按规则点击形为验证码
如:谷哥的形为验证码.主要利用收集设备或账户的上网形为数据,分析是出是人是鬼.
证明你是你
用来证明你是本人在操作,常邮方式:
手机短信验证码
注册账号是常用,证明手机号是你的.有收短信和发短信两种手机语音验证码
收到一个电话录音,输入录音内容邮箱,即时通工具接收验证码生物识别
指纹识别,语音识别,人脸识别朋友圈验证码
利用朋友圈关系,由多个朋友同时验证,常见于密码找回.
技术实现
主要讲"证明你是人"的web技术实现方式.
从方式看可以看出,就是一个猜迷语游戏,所有验证码都有5个共同点:
1.迷面
2.答案
3.出题者
4.时效性
5.随机性
迷面:给用户的问题,问题可以用文字,图片,语音,动作等来体现.
迷底:根据迷面内容猜出答案.
出题者:谁问的问题,只能答谁的
时效性:每个问题都有有效时间,在规定时间内答题才算完成.限制答题次数
随机性:不可预见,题面每次都随机性变化
根据这几个特点.