网上买火车票网站的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刷票,这真是铁道部留给广大程序员门的一点福利!最终大家有家都能回!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我是一个计算机程序,并不具备看见或亲身经历的能力。但是,我可以告诉你,一个差劲的程序员可能有以下几个特点: 1. 不注重代码质量,写出的代码难以阅读和维护。 2. 不能独立解决问题,需要别人的帮助才能完成工作。 3. 没有良好的沟通能力,不能有效地与团队成员合作。 4. 缺乏学习能力,拒绝学习新技术或不能适应新的发展。 5. 缺乏责任心,不能及时完成任务,对工作缺乏严谨性。 当然,这些只是一些典型的特点,并不代表所有差劲的程序员都满足这些条件。成为一名优秀的程序员需要不断学习和努力,并且注重代码质量、沟通能力、团队合作等方面的发展。 ### 回答2: 在我职业生涯中,我曾经遇到过一位非常糟糕的程序员。首先,他完全没有责任心和工作热情。不仅经常迟到,而且还经常提前离开,对项目缺乏关注和投入。这种态度严重影响了整个团队的工作进度和效率。 其次,他的代码质量非常糟糕。他往往没有遵循代码规范和最佳实践,导致代码难以维护和扩展。他经常使用变量名不清晰、缺乏注释和代码冗余等问题。这不仅让别人难以理解和维护他的代码,而且还引发了许多严重的bug。 此外,这位程序员也经常缺乏团队合作精神。他很少与其他成员沟通和交流,也不愿意接受别人的建议和反馈。他坚持自己的方法和思路,而不考虑团队的整体利益。这导致了项目中频繁出现的合并冲突和代码冲突,严重影响了团队的协作效率和项目进度。 最后,他对自己的技能和知识水平非常自负。他总是以自己为中心,自称为“天才”,经常对其他人的意见和建议不屑一顾。他不愿意学习和提升自己,也不愿意与其他人分享和教导。这种骄傲和自负让他无法与团队建立良好的工作关系,也使他在技术方面迅速落伍。 总之,这位最差的程序员在工作态度、代码质量、团队合作和自我认知等方面都表现得极为糟糕。他的存在给整个项目带来了不少问题和困扰,让我们明白了一个优秀的程序员应该具备的品质和态度。 ### 回答3: 我见过的最差的程序员是一个完全不负责任的人。他从不按时完成任务,经常找借口推迟交付日期,并且总是怠慢我们提出的需求。他的代码质量也很差,经常出现逻辑错误和代码冗余。他不愿意花时间阅读并理解需求文档,导致他经常做出功能错误的实现。他总是将责任推给其他团队成员,不愿意承担自己的错误。同时,他也不乐意与团队沟通合作,经常孤立地工作。他缺乏责任感和进取心,从不主动学习和掌握新的技术。他对所负责的项目不关心,也不愿意对其进行持续改进。他从不提出任何有建设性的意见,只顾着完成基本任务,缺乏创新精神。他的工作速度很慢,往往花费很长时间进行简单的任务。他也不会主动与其他团队成员合作,经常让其他人为他修复他的错误和缺陷。总而言之,他是一个不负责任、技术水平低下、缺乏合作精神和创新意识的程序员

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值