太仓人才网 [登录] 2024年03月28日 星期四 您是第 1856101219 位访者(今天第 949868 位访问者)  目前在线 338版本更新 设为首页 | 加入收藏
太仓人才网
在太仓找工作就上阳光太仓人才网
本站获“苏州市人力资源服务知名品牌”; 太仓十大网站; 太仓人才网最新招聘信息; 太仓找工作; 太仓人才网手机版
企业:19855 职位:151175 简历:346236 | 实时动态: 今天 20:49:02:求职者[56795*] 应聘了 太仓市诺承建筑装饰工程有限公司 的职位 售后/助理[1010023] 更多
当前位置: 全站信息>> 专题栏目>> 专题报道>>正文

从12306看官方网站的垄断

发布:太仓人才网   发布日期:2015-12-17  阅读次数:  

    今天是2015年的12月17日,距离2016年的春节还有1个多月,一年一度的春运高峰又要来了。在大家赶着回家过年的时候,大名鼎鼎的12306又被推上了风口浪尖。最早是以前的网络拥堵,系统卡、慢,然后是刷票软件,网络黄牛,到今年,出现了史上最奇葩的图片验证码。

    之前有新闻称,12306验证码的一次成功输入率仅为8%,而每天刷票的黄牛,反而术业专攻,熟能生巧,练就了一副火眼金睛,他们人工刷票的速度比普通购票者快上了几十倍。

    作为一名网站开发人员,为了一探究竟,我亲自打开了12306网站,仅仅5分钟,就发现了一些问题,然后有很多想法,于是动手写这篇文章。重点就是这个图片验证码。

从12306看官方网站的垄断

图1 登录界面

 

下面这张图,虽然是网民恶搞,但是也能反映出网民对着那些模棱两可又小又模糊的验证码时焦急而又无从判断的心情。

从12306看官方网站的垄断

网民恶搞图,但是反映的问题是一样的

 

    当登录时出现这个图片验证码,鼠标在验证图片右键,可以查看属性,于是就获得这个图片的地址:https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand 这是去掉了随机数的一个地址。输入这个地址,就能打开单独的图片并且包含了问题,而且只需要刷新网页,就能随机展现更多的图片和问题,如下图:

从12306看官方网站的垄断

图2 12306的图片模式

    这其实是一个很致命的问题,很多所谓的抢票软件,刷票浏览器,就能把这个作为收集问题和图片的手段。让一个工作人员,不断的刷新这个地址,然后将他看到的问题关键词录入数据库,比如“雕像”、“帐篷”、“订书机”。这是第一步,然后,我通过连续刷新图片观察到,每次刷新的8张图片,它们的排列坐标都是一致的,且相同图片再次出现的时候,图片主体完全相同。这样刷票软件开发者只需要在固定坐标采集像素属性,就能够将图片识别出来,我15年前就用VB6.0写了游戏对对碰的外挂。其原理如下

从12306看官方网站的垄断

    上图假设为一个需要识别的图片,仔细看,上面我点了9个点(人工点的,有点歪),这9个点相对与这个图片,是固定的坐标,通过编写程序实现采集图片固定坐标的像素属性是很简单的。然后上图就能得出“白、白、白、红、红、白、白、兰、白”这9个点的颜色(实际上应该是更加精确的颜色,比如RGB,这里只为了表述方便)。而这个图片对应的问题可能是“请选择下面所有阳光太仓人才网的logo”,于是,我们把“阳光太仓人才网”和“白、白、白、红、红、白、白、兰、白”存入数据库。这就是一条识别数据,然后继续通过刷新上面的地址,获取更多的信息资源。实际上采集坐标像素属性的代价很小,我这里举例9个点,其实完全可以采集更多,比如9*9=81点,12306的图片每张图片似乎加入了1-5个干扰点,但是比如采集81个点,只要75个以上匹配数据库里的记录,基本上就能判断了。

    等这些数据资源获取得差不多了,那么每个图片是代表什么东西,程序都可以自动通过重新采集指定坐标的属性来判断图片的内容了。当这8张图总是尺寸固定,位置固定的时候,就能一次性判定8张图片的内容了。而后再通过类似的汉字识别技术,可以在固定的区域识别12306提出的问题。因为在(图2)中,我们看到,提出的问题居然和图片是捆绑在一起的,且问题文字被固定在图片顶端相同的位置。

    仅仅是试用5分钟,登录了12306,就发现了这几个问题,而且这几个问题解决起来非常简单。

1、对验证图片的调用需要授权。
    比如,网站的登录页面是“https://kyfw.12306.cn/otn/login/init”这个地址,在这个地址调用验证图片时,可以在调用的url后面增加授权码,授权码可以是通过将一个密钥进过md5或者sha转换后的字串,同时结合http Referer,杜绝将验证码图片被直接从其他地方打开的可能,这样一些编写的刷票软件,就不方便直接调用 https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand 这个地址来收集样本了。

2、图片的简单变换。
    很简单,把现在的每一副图片,通过改变上下左右的边距,在图片外框尺寸不变的情况下,核心内容出现偏移,这样就能打乱像素的坐标,且这个偏移是随机范围的。比如下图:

从12306看官方网站的垄断  从12306看官方网站的垄断

这样的图片依然能被人识别内容,但是通过固定坐标采集,就很难比对了(其实可以通过密集采集,然后按序比对,找出公共序列的方法来比对,但是复杂很多)

3、把问题和图片分离
    把问题和8个答案图片放在一起展示,是问题的根源之一,是给了抢票软件分析图片采样数据的机会。如果把问题分离出来,且采用上述1、的方法,那么就很难采样问题和答案图片了。

    最后,我目前只是围绕图片验证码来看待问题,其实,反刷票,反抢票的方法还有很多,我可以肯定,如果铁道部请我去设计,一定可以完美解决。比如通过绑定手机号码,限时限量购票等,这些是技术层面的。

    另外从策略层面,可以将购票接口开放到淘宝、微信。铁道部为什么不这样做?垄断!高达数亿元人民币以上的升级开发费用,为何与各种不可理喻的购票流程和糟糕的体验之间,存在如此巨大的反差。这究竟是一桩何等艰难的生意,需要铁道部独自坚守?

    不对外授权,不开放插件,表面上是营造公平,但是恰恰是最大的不公平。好比国家发行的纸币,防伪能力差,最终获益的是那些非法制造假币的犯罪分子,而受害的是老百姓。2013年抢票插件兴起,猎豹、360被铁道部约谈,360董事长周鸿祎曾撰文表示,技术一直在推动建设一个高效的公平社会,抢票插件是让一部分人利用这个高效工具,是一种积极意义的不平等,促使更多人使用抢票插件,省去手工操作、排队买票的时间,提高整个社会效率。周鸿祎的观点不错,正规厂商开发的抢票插件被禁止,但是并不表示所有人都不能抢票了,在我的朋友圈里,能写抢票程序的就不在少数,更别说那些形成利益链的黄牛组织了。

    淘宝、QQ等在全国有那么丰厚的硬件和网络资源,完全可以承担春运售票的网络业务压力,铁道部只需要建立一个车票的核心数据库,通过接口将售票业务放出去,这是最好的方案,为什么还要把这个吃力不讨好的业务抓在手里?

    政府机构不会倒闭,不会破产,一旦垄断了,只要脸皮厚,或者干脆不要脸了,就能一直垄断下去!垄断的背后一定有利益的支撑,这个利益恐怕强大到足以让某些机构厚着脸皮挨骂!而政府机构不盈利,盈利的是谁呢?或者说赚取的不是金钱,是权力?需要深究!

 

 


以上信息或来自于互联网,若有侵权,请及时联系本站管理人员! 阳光客服 1987127758

太仓人才网公众号

太仓人才网客服MM

太仓人才网 太仓人才网WAP 苏州市人力资源服务业知名品牌 关于我们 网页制作/数据库:阳光技术小组 QQ阳光客服 版权所有:太仓市瑞福尔人力资源服务有限公司
ICP许可证:苏B2-20190061;苏ICP备10224897号-1;软著登字第0395877号; 营业执照;人力资源

本页更新时间:2024-03-28 20:49:09 []