网站客服:zx81024163 |

产品分析 | 各种验证码的形式及简要分析

2023-12-06 18:01:24发布    浏览520次    信息编号:86951

友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。

产品分析 | 各种验证码的形式及简要分析

1. 概述

验证码的目的是为了区分当前访问者是“人”还是所谓的“机器”。 这在计算机领域被称为“图灵测试”,通过图灵测试的机器可以说具备了人工智能的特性。 验证码的存在可以阻止大部分机器通过测试,从而防止机器对系统进行大规模的恶意访问和测试。

验证码的基本设计原理是通过人类主体的感官来传递验证码,而这种感官是机器所不具备的。 此外,增加通过验证码的潜在成本是另一种方法。 基于以上两个原则,总结出**三类验证码**

前两种是通过主体感官传递验证码,第三种是主动提高传递验证码的成本(包括开通多个手机号码需要一定成本的情况)。 为了防止恶意行为者通过短信平台或电子邮件平台发送过多的验证消息增加服务器的负载,第三种验证方法通常与前两种方法结合使用。 下面详细描述每种验证方法。

2. 细分 2.1。 图形验证码

图形验证码是一种比较早期的验证码形式。 总体来说,目前网站使用这种形式验证码的比例是最高的。 然而,由于科学技术的发展和图像识别技术的提高,破解图形验证码的概率越来越高。 因此,如今安全要求较高的网站或者流量较大的网站都转而采用交互式验证方式。

知乎使用的图形验证码

随着图像识别技术的提高,图形验证码也经历了两个不同方向的改进——一是在图形上添加各种条纹等干扰信息。 随着图像识别技术的发展,这种方法的条纹数量也越来越多,条纹的图案让用户眼花缭乱,进而影响用户正常读取验证码,降低用户体验。

另一种方法是用图形“给出计算问题”,让用户计算并输入结果,让用户主观地进行一些阅读文本的机器无法处理的计算。 不过,随着搜索引擎的优化,直接将机器识别的文本放入搜索引擎就可以得到准确的结果,如下图所示。 同时,一些网站的“计算”验证码采用多项式计算,计算过程繁琐,降低了用户体验。

在搜索引擎中使用单词代替符号也可以计算结果

这类验证码在实际使用中给用户带来的交互体验如何? 以豆瓣的密码找回功能为例。

豆瓣密码恢复初始界面

在“输入上图中的文字”框中输入验证码后,如果输入正确,则点击“重置密码”跳转到下一页; 如果输入错误,会显示文字提示验证码不正确。 输入的账户不会消失,并且会生成新的验证码。

验证码错误

豆瓣这里的交互设计不够人性化。 一般来说,错误提示设计在验证码输入框旁边,点击“重置密码”后刷新整个页面也影响用户体验。

个人认为这种图形验证码的错误提示交互最好的表现应该是:用户点击“下一步”后,系统检测验证码输入,如果错误则直接用灯光提示在输入框附近显示错误字和验证码。 刷新并清除输入框。 至于是否应该清除帐号或密码,则视情况而定:如果用户输入的信息种类繁多,内容较长,则内容往往会被保留(当然最好清除密码) ); 如果内容比较简单,可以直接清除以增加账户规模。 破解成本。

2.2. 互动验证

交互式验证码可以说是验证码的2.0版本。 通过手动完成一些机器无法自动完成的交互,系统反向检测一系列用户动作是手动完成还是机器完成,提供双向验证,减少被破解的机会。

如今出现比较频繁的交互验证是“滑动验证”,即向右拖动滑块即可完成拼图。 简书的登录界面是这样设计的。

拖动滑块-简书

该操作的基本流程为:用户输入账号和密码后,将鼠标轻放在滑块上或按住滑块,出现拼图; 用户向右滑动,会出现一个小拼图和要放置的位置。 如果用户成功放置拼图,大拼图将关闭,右侧的小锁将变成绿色的勾号。 否则,如果放置失败,就会变成红十字。 通过较轻的提示来表明用户验证是否成功。

同时,该模块会告诉用户完成该操作需要多长时间,这在完成验证的同时增加了乐趣。 可以说,在兼顾验证安全的同时,也兼顾了用户体验(简单、有趣)。

另外,还有一种交互式验证码,我们称之为“点击验证码”:用户点击插件后,系统会要求用户按顺序选择图像中的几个文字。 选择完成后,用户需要手动点击“验证”才能知道验证是否成功。

点击验证-腾讯

这种方法还利用人和系统之间的相互验证来确保操作是人而不是机器。 同样,这种验证方式兼顾了验证安全性和用户体验。 另外,点击验证仅返回验证是否成功的状态,这也增加了破解难度(验证错误后图片和文字会发生变化)

上述两种验证码具有以下优点:

在我们的生活中,众所周知,有一个网站有一个神奇的验证码——12306。12306的验证码可以让用户选择文字提示对应的项目,通常数字为2-3个,验证码可以是全部选择正确后得到。 跳转到下一页。

验证码12306

按照12306的初衷,使用此类验证码的原理是通过机器无法主观识别的项目来区分用户和机器。 但在实际使用中,由于图片分辨率太低(为了保证图片尺寸小,以便用户在网络环境较差的情况下刷新),导致部分用户第一次选择时无法正确跳转。 同时,在这种新型验证码刚出现的时候,也有人发表了相关的破解文章。 但从实际效果来看,2016年春节期间,不少抢票软件无法跳过验证码,需要用户自行选择验证码。 。

从以上结果来看,12306验证码的基本要求已经满足——避免了机器自动识别,提高了用户手动抢票成功的概率。 遗憾的是,为了满足这样的需求,牺牲了用户体验,部分用户因为误选了验证码而无法抢票。 如果12306可以尝试使用上面提到的滑动/选词验证,效果会不会更好? 由于涉及的交易额达数亿,相信铁路部门不会轻易做出这样的尝试。

2.3. 多平台验证

多平台验证是一种验证形式,不能完全避免“机器”,但会在一定程度上增加破解成本。 此类验证通常需要与前两种验证方法结合使用(如果不执行前两种验证,则可能导致短信或电子邮件服务器瘫痪的攻击)。

多平台验证的目的不仅是为了防止机器注册,也是为了确认用户的手机号码或邮箱是否正确。 可以避免用户以后找回密码时产生不必要的麻烦,也避免向未注册用户的手机发送促销信息。 或在邮箱中引起异议。

现在的多平台验证通常是单向验证,也有一些双向验证网站。 单向验证很容易理解。 注册完成后,网站服务器会向邮箱或手机发送验证邮件或验证码。 用户点击验证邮件中的链接或输入验证码,即宣告验证完成。

双向验证网站通常要求用户通过手机向指定号码发送指定号码。 然后用户会收到一个新的验证码,并将该验证码填写到网站中即可完成验证。 这种验证方式曾经出现在12306的手机验证功能中。这样做的目的是:①确认用户的手机号码正确; ② 防止使用短信服务器的售票员通过服务器而非真实手机回复验证码。

12306手机验证

三、总结

通过分析当今存在的各种形式的验证码,了解它们的基本原理、用户体验、交互和基本流程以及它们的缺点,并对注册流程有更深入的了解。 虽然有人认为“注册过程对于整个产品来说是小事一桩”,但只有在产品的每一个细节上精益求精,才能做出好产品。 希望以后如果有机会设计某个产品的注册流程,可以把这篇文章作为部分理论基础。

提醒:请联系我时一定说明是从星空网上看到的!