验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写。这是一个比较官方的介绍。
它最早是2002年被卡内基梅隆大学提出。它的出现,是为了区分人和机器,同时也是一个反人类的产物,因为它是机器用来测试你是不是人的,你是不是一个人,需要机器来测试,这就是反人类嘛。当你输入了正确验验证码就相当于告诉机器,我是一个人,有点类似居委会让你证明你是你,或是证明你爸是你爸。
在网络时代,免不了接触到各式各样的验证码。现在的验证码的出现大部分是从安全方面的考虑,现在的验证码也开始越来越变态,很多已经人都分别不出来了,有各种各样的图片、计算题、还有需要写代码的……
“互联网时代”也讲究用户体验,这些验证码真就是反人类,此处可以骂人,#¥%……&*
现在各式各样的验证码,真是百花齐放。从特定的角度来说,也说明了这个企业在技术这块的投入不够,或是在安全的投入不够,或是在风险控制上的不够,或是压根就不重视技术,才导致出现了这么多反人类的验证码。
理论上来说,出不出验证码应该是由检测逻辑来决定的,而不是一股脑的所有人都需要去输入验证码,要相信大部分人还是好的,只有一小撮人喜欢干坏事,而这小挫人应该通过数据、技术等手段来进行分析和判定。
比如如果你输错了若干次密码、登陆了过多不同的账号或者不存在的账号,许多网站只有在这个时候才会弹出验证码,尴尬的是这些规则往往过于简单,非常容易被攻击者猜测出来进行逃逸,而如果不停的在代码上调整策略,客户没站起来骂娘前开发就已经要站起来骂了,这个现象使得验证码的应用上后来发生了很大的调整,从一堵见谁恶心谁的障碍演变成为了一种武器,而如何使用这个武器、对谁用的问题逐渐的被交给了企业内的风控系统。
验证码在技术实现上是一个相对简单的功能,但涉及到了风控系统后,事情就变得非常复杂了,如何去采集风控判断的数据源?怎样实现可快速编辑调整的策略?性能如何?
毕竟不是每家互联网企业里面都有一个“风控大脑”,这牵涉到业务风险专家、研发人员、技术运维框架长期合作的产物,成本之高可见一斑。所以,使用一种专业、实用、落地性高的风控平台是目前互联网公司的可行性选择。