除了“点击图中所有的美男子”,12306 的防黄牛机制还能怎么设计?

36氪 显示图片

(纯个人分析,希望各位大咖给予意见,我会继续完善感谢~)

春运将至,大家都非常关注12306的抢票,验证码和手机验证也成了段子手和喷子们争先恐后调侃的对象,先来看看12306是如何被黑的:

不得不佩服各位P图大神的功力,这样黑12306真的好吗,容我先擦一下鼻血~

网络水军是这样调侃12306的:除了“点击图中所有的美男子”,12306 的防黄牛机制还能怎么设计?除了“点击图中所有的美男子”,12306 的防黄牛机制还能怎么设计?

(以上图片据来自网络)

那么从引发这个问题的验证码说起,12306验证码的变迁分为以下几代:

简单数字——数字加字母——加减法算式——闪烁变形字母动态码——中间添加干扰线的变形字母——图形验证码

配图如下

除了“点击图中所有的美男子”,12306 的防黄牛机制还能怎么设计?

简单数字 (好吧这是PMCAFF的验证码找不到原始图片了)

除了“点击图中所有的美男子”,12306 的防黄牛机制还能怎么设计?

数字加字母验证码(机器真的很难识别吗)

除了“点击图中所有的美男子”,12306 的防黄牛机制还能怎么设计?

动态图片验证码(非常短命防不了机器只能防止人类)

除了“点击图中所有的美男子”,12306 的防黄牛机制还能怎么设计?

图形验证码万众吐槽版本

第一个验证码是最常见,很多网站都在用,毕竟没有需求就没有必要做多么高级的功能。于是我们聚焦12306的需求,在购票方面, 从最重要紧急到不重要不紧急排序如下:

仔细想想,图片验证码的作用就是用于刷票的,那么为什么不是用于防止黄牛大量囤积或者用于防止黄牛用自己的账号买票呢,因为图片验证码有一个概率,根据现在的验证码规则,在8个图中选择1~3个图,那么随机选一个选中的概率就是:

除了“点击图中所有的美男子”,12306 的防黄牛机制还能怎么设计?

应用一下中学排列组合知识,C 表示组合数

概率是1.086%也就是说黄牛买100次票就会有1次抢到票。这一点对普通用户来说是毫无作用的,一般的用户就算用刷票软件100次才能有1次过验证码,抢票成本太高了。但对于大量囤积票黄牛贩子来说这个概率足矣。使用一个机器100次能过1次,那么使用几十几百个机器抢,就可以想囤积多少就屯多少了。而验证码用来杜绝黄牛拿自己的账号人力屯票也是行不通的,黄牛人工操作,你总没办法吧,人力屯票,就像以前的黄牛都是到火车站排队去买票一样。

针对这几点,我们应该怎么样设计才能防止呢,一点一点来说:

一、实名认证

这是一个很大的课题,不要想当然的认为很容易。在足够的利益面前,信息是可以伪造的,而我们还不能过分的追求唯一性。

举个例子,比如有人说“IP、MAC、序列号、操作系统…重复就视为是一个人且只能买一张票”。这怎么可能 o(╯□╰)o~~ 难道就不允许换一个电脑了嘛,难道就不允许中转换乘了嘛。还有人说,手机号验证了就可以解决实名认证问题了。我只能说too young too simple,网上有那么多代发代收短信的渠道,用假手机号过手机验证码根本不是梦