图片验证码,短信验证码,邮件验证码 这些验证码的目的可能是为了防止机器人,黑客攻击,权限管理等等
但是如何才能写出一个好的验证码呢(主要从安全的角度看)?
我觉得满足以下几点,可能就是个好的验证码了:
- 时效性
- 复杂度
- 用户体验
- 时间限制(验证码发出几分钟内验证有效)
- 次数限制(多少次验证内,验证码有效)
- 字母组合
- 数字组合
- 字母+数字组合 长度 4-6 位
能一次完成的操作,让用户两次进行就不是一个好的体验
拿手机验证码举例子,我选择以下几种组合来做短线验证码
上面这种情况可能会出现一个问题,5 分钟内,只需要进行 9999 次猜解
即可绕过这种情况,实际例子很多,但是直接把 APP 名字发出来还是不太好
求职工种:php 程序员
工作经验:一年
工作地点:成都
熟悉语言:php,python
其他技能:爬虫,安全
个人博客:www.wd0g.com
联系电话:18723996897
联系邮箱:[email protected]
其实我博客写的比较详细,只是文笔太差...不好意思发,所以重新总结了下
本文只是我多次尝试绕过各种 APP 验证码的经验总结,无任何装逼成分,别说我装逼了,我怕...
1
shiny 2016-11-06 19:52:45 +08:00
复杂度部分,还没提到什么样的图形验证码容易被识别,以及一些常见的识别算法。
|
3
nolo 2016-11-06 20:02:23 +08:00
验证码的目的是区分是不是机器。不应该在“验证码“上做文章,应该在区分人和机器人。如果算法算出很明显是“人”,不应该为难用户。我觉得很多网站在这点上本末倒置。
|
4
lhx2008 2016-11-06 20:05:22 +08:00 via Android
没有干货,验证码本来就应该是区别人和电脑,而不是长度什么的
|
5
powergx 2016-11-06 20:24:13 +08:00 via iPhone
人肉打码 轻松破之
|
6
Ouyangan 2016-11-06 20:25:15 +08:00
我觉得*验很不错
|
8
bdbai 2016-11-06 20:48:38 +08:00 via Android
顺便问下绕过验证码有哪些思路?
|
9
ic2y 2016-11-06 20:51:36 +08:00
生产噪声需要知道 怎么 针对性对抗 机器学习的识别
|
10
v1024 2016-11-07 07:51:48 +08:00 via iPhone
错误后直接实效不就行了?何来 999 次一说?
|
11
j8sec 2016-11-07 08:03:28 +08:00 via iPhone
NoCaptcha
|