青青子衿, 悠悠我心, 但为君故, 沉吟至今
« 12306订票助手插件拖垮GitHub事件始末用于展现图表的50种JavaScript库 »

12306反制浏览器被指“傻大黑粗”

  1月28日,已经是2013年春运正式开始的第三天,那寄托着异乡游子急切心情的粉红纸片,依旧一票难求。前两天发生的12306订票助手插件拖垮GitHub事件,风波仍未过去。铁道部为了保证“公平”,他们开始采取技术手段,针对使用插件的浏览器采取反制措施,其结果如何,目前看来,恐怕不能令他们和他们的上峰满意。

  网友码农1999在新浪微吧上发布文章《傻大黑粗+殃及无辜:12306技术反制猎豹浏览器代码级分析》,列出了12306.cn的具体反制措施,其中主要有四种手段。

  手段一: 频繁修改具体功能函数名称,让抢票插件调用失效。

  这是12306开始技术反制时最常用的小技俩。码农都知道,这种“小修小补”的技术屏蔽手段,只要针对12306修改的具体功能函数做修改,即可实现插件正常使用。整个破解及插件更新时间不超过1小时。

  手段二:1月20日开始屏蔽浏览器user agent

  1月20日进入春运购票最高峰(可订2月8日车票),12306使出了屏蔽浏览器user agent的手段,如此一部分没有用抢票版的用户也被屏蔽,一些用户反应未用插件却登陆12306时白屏,进入不到网站。

  针对屏蔽 user agent,只要修改浏览器的用户代理即可实现登陆12306。

  手段三:限制连续2个操作的时间间隔,所有浏览器在未使用抢票插件情况下或无辜中枪。

  如在提交订单时12306判定输入验证码及提交的时间间隔短,即使验证码输入正确,亦会被12306弹出“验证码错误”。此种屏蔽手段造成的后果是:1、抢票插件自动提交订单失效;2、无论使用哪种浏览器的用户,无论使不使用抢票插件,只要“被判定”时间间隔短,即提交订单失败…破解此屏蔽手段,甚至不需要修改插件代码,只需取消抢票插件的“自动提交”功能,手动输入验证码即可。

  手段四:12306后台增加一些逻辑判断,会踢出用插件用户的登录状态。

  这些逻辑判断包括:

  限定操作时间间隔、提交订单时间间隔、查询刷新间隔等。

  这些手段均不能保证只屏蔽抢票插件用户,均有可能让无辜的用户,被12306判定为“插件用户”,不能正常登陆,买不到车票。

  对于这些反制措施,作者认为:

  1. 12306用的那些技术反制手段真心很糙,很临时工。一个词形容:傻大黑粗。
  2. 12306这些小花招,在浏览器厂商面前,效果不大。
  3. 12306的反制措施还带来更大的网站崩溃可能性,殃及无辜。

  文末,作者给12306提出4句话:

  1. 每一个登陆12306的用户,都有权利选择使用的浏览器及正当手段提升使用体验,屏蔽只会加剧无谓的劳动量。
  2. 请不要再聘用实习生或者临时工进行屏蔽抢票插件,请尊重程序猿的智商。
  3. 12306对“无辜”被屏蔽的用户造成极大的不公平。
  4. 12306作为投资5亿的网站,请亮出你技术屏蔽的“杀手锏”。

  在微博评论中,Super_Wang指出:

  用技术手段屏蔽标准http请求。。。无语,只要它没离开http,找出规律也就是个时间问题。对关键请求加单次有效的短信延时二次认证应该是个不错的办法,客户体验就难说了

  执信飘飘想听听其他人的看法:

  大量游戏外挂都不能得到有效解决,何况这是一个甚至没有做验证码适配的脚本程序而已,个人觉得这的确很难做处理。因为不具有很明显的特征性,很难判断。

  来源:InfoQ投稿,原文链接



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/3371.html
  • 文章排行:
  • 1.chl

  • 打倒铁道部,无座车票也和硬座一样票价。
  • 2013/2/16 9:30:53   支持(47)反对(24) 回复
  • 2.still
  • 开发给第三方。让阿里、腾讯、新浪、网易等自己去想办法
    每年拿900万出来给那帮逼们浪费,100万来管理
  • 2013/2/15 20:57:16   支持(31)反对(23) 回复
  • 3.米用过
  • 没用过这个订票系统,不好多说啥
    但要是订票就像买票一样,用身份证注册帐号,一个帐号只能订一张票,不就很好解决么……哈哈。。乱说哈
    三毛 于 2013-2-15 9:54:06 回复
    起初就是这么做的 但是这样有个很现实的问题 就是两人同行(比如小两口回家过年)容易一个人买到一个人买不到
    再试试 于 2013-2-15 22:46:22 回复
    可以让帐号添加亲人,到订购操作时,直接勾选哪些亲人帐号……
    咔咔卡。。。。干脆利索
  • 2013/2/15 9:19:33   支持(29)反对(28) 回复
  • 4.Aquamarine
  • “请不要再聘用实习生或者临时工进行屏蔽抢票插件,请尊重程序猿的智商。”太搞笑了
  • 2013/2/15 15:07:29   支持(29)反对(29) 回复
  • 5.cii
  • 根本就是扯淡,抢票本身就不公平。
  • 2013/2/15 12:38:12   支持(35)反对(37) 回复
  • 6.Wing
  • 把系统改为提前预订,到点抽签不就完了。可以从根本上解决抢票问题。可惜啊,实习生或者临时工的智商恐怕想不到这个
    给老人买什么礼物好 于 2013-2-15 20:23:31 回复
    神想法啊!
  • 2013/2/15 1:02:19   支持(41)反对(44) 回复
  • 8.jamie
  • “请不要再聘用实习生或者临时工进行屏蔽抢票插件,请尊重程序猿的智商。”这句话看起来确实有点不顺眼。毕业生就不能写代码?楼主刚出来就能写出高质量的代码?或者毕业出来不用写代码,在软件公司待了一段时间后就能写出高质量代码?请不要戴着有色眼镜看待毕业生!从此我也不再订阅月光博客
    随便看看 于 2013-2-17 17:40:30 回复
    这些见招拆招做法的确很低级,并不是真想解决问题的心态,比细菌变异低级了无数倍
    PS这话不是月光博客的作者说的,只是个精华版转载罢了
    budblack 于 2013-2-20 15:11:06 回复
    明显这样庞大的系统维护真的不能交给毕业生
    从小事做起呢~
  • 2013/2/16 14:04:13   支持(28)反对(35) 回复
  • 9.一辉
  • 目前已经改为服务器请求返回数据时间为1分钟了。1分钟以内刷新返回的数据是历史数据。所有人中枪。
  • 2013/2/17 9:01:49   支持(29)反对(37) 回复
  • 10.xuexx
  • 破口大骂骂的人才蠢,你是码农、程序员,12306的就不是个?对自己的同行都丝毫不尊重,你还算什么?
    不在其位,难知其情。把你放上去,或许还不如人家。请不要让人看轻程序员的素质。

    将来会诞生一个新词:码农相轻。
  • 2013/2/18 8:48:41   支持(26)反对(35) 回复
  • 11.test
  • 10000人的需求,只有1000张票,你有办法解决?
  • 2013/2/15 20:53:18   支持(26)反对(36) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.