[关闭]
@jean 2015-03-16T15:10:34.000000Z 字数 920 阅读 1372

验证码出现时机改动

验证码


需求背景

由于我们网站曾经遭遇“撞库”事件,导致竞品/黑客获得了我们部分用户的密码,当时不仅上线了支付密码,而且验证码功能的安全优先级也相应提高。

撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登陆的用户。很多用户在不同网站使用的是相同的账号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登陆B网址,这就可以理解为撞库攻击。
2014年12月25日,12306网站用户信息在互联网上疯传。对此,12306官方网站称,网上泄露的用户信息系经其他网站或渠道流出。据悉,此次泄露的用户数据不少于131,653条。该批数据基本确认为黑客通过“撞库攻击”所获得。

但是验证码功能安全优先级提高的同时,并没有太过考虑真正用户使用时的用户体验,在大多数情况下打扰到了用户。
现在用户几乎每次想用账号密码登录,都需要输入验证码。有待填项就有输错的可能,而实际上我们只需要一种能够有效阻挡机器人的手段。我们并不希望打扰到真实用户,用户也不需要验证码。

需求调研

验证码一般有这么几个出现时机(以下均指打开登录页面/快速登录层后):
1. 任何情况下都出现;
2. 每个不同的IP地址第一次登陆时出现(cookies没被清理时,以后登录不再出现);
3. 每个不同的IP地址第一次登陆时不出现,输错之后开始出现(cookies没被清理时,以后登录不再出现)

在此声明: 这里讨论阻挡机器人的效果,仅针对需要反复尝试验证码的机器人而言。
对于能够识别出我们验证码的机器人不在讨论范围,因为对后者来说目前的验证码形式形同虚设。

这3种时机中:

2015.3 网站注册登录改版中,已经将易混淆的验证码字符去除,真实用户即便输错账号密码,重新输入时补填一个不易输错的验证码通过的概率较高。对于大规模尝试的机器人来说,依然是个“验证码”。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注