互联网应用常见验证码技术一览

2019-07-19 10:19:32 浏览数 (1)

验证码从设计之初就是为了区分人与计算机,计算机识别难度较大,而人可以轻易识别,常用于身份校验、交易确认等关键环节。当下的网络生产生活中:暴力猜测登陆、暴力破解密码、垃圾广告、灌水等在网络中泛滥,不仅消耗了大量的服务器资源,同时也可能威胁到服务器的安全,因此,验证码作为一种实用高效技术被大量使用起来。

下面介绍下互联网应用中常见的验证码应用:

传统输入式验证码

主要是通过用户输入图片中的字母、数字、汉字等进行验证。

原理:向服务端请求,生成随机的字符,写入会话请求,同时将随机字符生成对应图片,响应给前端;前端输入对应字符的验证码,向后台发起校验。

特点:简单易操作,人机交互性较好。但安全系数低,容易被破解。采用OCR技术可轻松破解。

短信验证码

通过输入有效手机号,获取短信验证码来验证用户的有效性,配合验证码的时效性,大大提高用户的真实性。

代表:移动APP较多的采用此方式

特点:简单便捷,有效识别真实手机号。会产生显性的短信成本。

输入式的图形验证码

有精美的图形,文本内容清晰可见,专注于广告展现。

代表:Solve Media

原理:实现方式同上,只不过是融入了广告元素在其中,无形中创收,佩服想出来此方式的产品人员。

特点:与其说是验证码,倒不如说是广告位。

纯行为验证码

按照要求将备选碎片直线滑动到正确的位置,或拖动滑块移动来达到验证目的。

代表:极验验证码

特点:操作简单,体验好。单一维度,容易被逆向模拟,与移动端页面切换不兼容。

图标选择与行为辅助

给出一组图片,按要求点击其中一张或者多张。借用万物识别的难度阻挡机器。

代表:Google新型验证码、12306验证码

特点:安全性强。对于图片、图库、技术要求高。

语音验证码

通过输入有效手机号,配合图形验证码,获取语音验证码,有两种方式:一个是在电脑上通过TTS语音播放给用户听到的一种方式。另外一种则是现在比较少有的通过语音电话直接呼到用户手机,实现电话语音播报的方式。

特点:语音验证,简单安全。有时会产生显性的通话成本

点击式的图文验证与行为辅助

通过文字提醒用户点击图中相同字的位置进行验证。

代表:淘宝新型验证码、点触验证码

特点:操作简单,体验良好,单一图片区域较大,破解难度大。

智能验证码

通过行为特征、设备指纹、数据风控等技术,正常用户免验证,异常用户强制验证

特点:简单便捷,区分人与机器、人与人、设备与设备。

OCR技术的发展,简单的图形验证码已经可以被破解。另外随着人工智能的发展,一些更高级的验证码如行为验证码、智能验证码等也面临着被破解的风险。这就像矛盾的两方面,一攻一守,促使技术向更高阶晋级,打造更安全的互联网环境。

扩展阅读:

  • 基于SpringCloud的Microservices架构实战案例
  • 基于SpringBoot的WEB API项目的安全设计
  • 对称加密算法与非对称加密算法的优缺点
  • 如何从传统软件开发顺利过渡到互联网技术开发
  • 学习新技术时你应当掌握的『最少必要知识』
  • 他山之石,可以攻玉:从别人的项目中汲取经验
  • 软技能:代码之外的生存指南
  • 程序员,保护你的好奇心和求知欲
  • 那些会阻碍程序员成长的细节[7]
  • 做了七年软件开发后反而更迷茫
  • 程序员,保护你的好奇心和求知欲
  • 从技术到管理——角色转变

0 人点赞