zoukankan      html  css  js  c++  java
  • 网上买火车票网站的Bug,实在是留给程序员的福利

    年关将近,又到了春运时间,火车票自然是这段期间最紧俏的资源了。与以往几十年不同的是,今年开通了网络购票、电话订票和真正的实名制功能。其中最让码农眼前一亮的就是网络购票功能了。写了那么多年的程序,终于有用武之地了。

    我作为一个码农,写这方面的程序,算下来已经有7年历史了吧。最早的时候是在大学做选课程序(准确的说应该是抢课程序),后来帮同学做刷票程序,再到后来做WebGame的外挂,各种抓包分析程序,一个个网络应用程序还是让我记忆犹新。现在买火车票也能够通过网络实现,那么当然也可以写个程序实现登录、查询车票、下订单这些功能了。

    最近项目刚上线,Bug一堆,工作比较忙,再加上我是坐飞机回家,不买火车票,所以也没有那么大的动力和那么多的时间来开发这个程序了。程序写了一半,登录实现,查询实现,就剩下下订单功能和支付功能了,不过支付功能我觉得可能有难度,具体还没有试过,毕竟这东西是需要在IE下真的付款,然后抓包分析的,所以也不好调试。

    我的程序虽然没有完成,不过网上已经有不少码农放出了自己完成的程序,比如这几个

    GoHome:http://code.google.com/p/go-home/
    德广火车票助手:http://www.appinn.com/12306-auto-login-client/
    12306 订票助手:https://github.com/zzdhidden/12306
    12306.cn 网络购票助手:http://www.u-tide.com/fish/soft/44/

    等等。

    我个人比较推荐的是12306 订票助手:https://github.com/zzdhidden/12306 这个程序其实很简单,是基于JQuery的一个JS文件,在Chrome中运行效果很好,正好我用的也是Chrome。

    这些程序其实原来都是差不多的,主要的还是利用了12306系统中的一个Bug,实现了不断重试提交数据,直到成功。这个Bug就是在用户提交验证码进行比对的时候,没有在比对后重置验证码,导致接下来重新提交数据时,使用同一个验证码就验证通过了。这个Bug其实修复起来很简单,我在3年多前的博客中就已经提到过该Bug和修正,参见:http://www.cnblogs.com/studyzy/archive/2008/06/04/1213192.html

    另外还有一个问题就是现在的验证码实在太简单了,没有什么混淆,很容易通过程序识别出来。

    毕竟这也是铁道部第一次做电子商务,虽然有很多不足之处,但是能够主动改变现状,还是让人感到欣慰。希望网络购票的这个Bug一直保留着,下次我买票的时候也可以利用这个Bug刷票,这真是铁道部留给广大程序员门的一点福利!最终大家有家都能回!

  • 相关阅读:
    #Leetcode# 219. Contains Duplicate II
    #Leetcode# 203. Remove Linked List Elements
    #Leetcode# 141. Linked List Cycle
    #Leetcode# 128. Longest Consecutive Sequence
    linux——shell解释
    Linux——互联网搜索引擎nbtscan是一个扫描WINDOWS网络NetBIOS信息的小工具
    Linux——网络端口的状态netstat、ifconfig
    连不上网的原因
    jquery基础笔记
    网址收藏
  • 原文地址:https://www.cnblogs.com/studyzy/p/2318400.html
Copyright © 2011-2022 走看看