2013年2月14日星期四

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投稿,原文链接