首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

如果你是铁道部,只从技术下考虑,你会怎么对付各种刷票插件?

2013-02-19 
如果你是铁道部,只从技术上考虑,你会如何对付各种刷票插件??事实证明,用行政手段搞约谈,不仅被自己人骂(新

如果你是铁道部,只从技术上考虑,你会如何对付各种刷票插件??
事实证明,用行政手段搞约谈,不仅被自己人骂(新华社),也被全国老百姓骂,还被一些网络公司笑话。造成这些原因,最大的一点就是因为这个项目花了超级多的钱。

接下来言归正传:
大家都知道,很多刷票插件为了用户使用方便都会在铁道部的页面中注入自己的DOM元素,那么根据这一点,铁道部完全可以把这些DOM元素枚举出来,然后随机判断,只要有其中任何一个或两个或多个存在,就直接拒绝服务,然后干脆来个【请别用刷票插件】之类的警告。

在和同事讨论这个问题的时候,有同事居然说这会增加铁道部的访问量,会多一次请求,怕服务器吃不消。
其实我想说的是,这完全是多虑了。因为枚举和随机检查,是跟随登录操作和查询车票的操作进行的。但凡想买票的人,首先必须登录,然后必须进行查询操作。

在下不才,以菜鸟的角度考虑一下对付刷票插件的技术手段,以期抛砖引玉。
上有政策,下有对策
[解决办法]

引用:
引用:限制提交间隔时间,插件是5秒一次,人工至少1分钟一次,所以。
限制间隔时间为40秒就行了
当然,会加重服务器的负担。
其实最好的方式还是让淘宝京东这样的电商帮忙售票。。。
减轻了服务器的负担,还省钱,还不遭人骂

转给淘宝等公司做的,就不在此贴讨论范围了。正所谓肥水不流外人田。
假想一下,你是TDB的领导,你要了3亿,……

看这句话前面那个,“限制间隔时间为40秒就行了”
铁道部的那破技术做不过刷票的那帮人的。

[解决办法]
其实  要想   这样的插件肯定会 定时发送请求来查看是否有票的,而且  铁道反正也做了 非常蛋疼的闸,何不在闸口做文章,   想找出来  很简单,可以根据频率浮动,人为情况 不可能 保持5s一次 坚持10分钟的。

直接拦截 分流。
[解决办法]
我认为用任何技术手段都很难从根本上消灭刷票软件,正如游戏很难消除外挂一样,我认为要从订票规则上下手,如果订票规则和流程上消除了重复操作,自然刷票软件就没有用了。
如何消除订票时的重复操作呢,比如,你提交你的信息后就等待系统自动分配,其实就是类似于抽奖,你点再多也没用。但是这必然会有人提交很多信息,这时就需要采用实名制了,就是说你的身份证只能订一次,而且车票会和身份证绑定,或者用手机号验证,因为一个人不可能有太多手机号的。
[解决办法]
直接就是提前20天报名,抽彩票放票
[解决办法]
私有的企业,搞的东西为什么就那么好呢。
[解决办法]
对于使用刷票软件的账号采取封号处理,效果应该很明显,而且注册账号也给个限制,注册成功后24小时内不能订票。
[解决办法]
这种部门,关系比重比技术大,还有如果在用js来做检测,他的网站本来就慢,
现在还加那么多检测,恐怕用户体现更加糟糕。
[解决办法]
浏览器搞插件买票是一种,这方便了很多人避免去安装更多的软件,但是对于那种本地安装的客户端,通过获取session,cookie,key的信息来不断请求服务器的软件,这种就不涉及在dom上增加结构。这种方式就完全是在模仿HTTP请求,把HTTP请求的内容设置的和12305一致,然后不断的去请求。包括他的验证码,曾今在CSDN上有高手讨论过自动识别这个问题,这也能满足他每隔几秒去请求一次。
要杜绝这样的问题我个人觉得要综合性的考虑:
1.更严格的买票规则,但是不是更复杂的买票流程
2.对于异常请求的处理,或对于过于频繁的请求的处理。可以放在一个队列中,不管他怎么请求,你这个请求一旦进入到队列,只要从队首出来,返回信息不变。再频繁的请求也没用。
3.中国人口基数是个问题,唯有考虑一种最有效的方式以达到最大最优的运输要求。

不才,纯属愚见。

[解决办法]
HTTP 请求分为 Human 和 Program 的,Human 是人—浏览器—HTTP 交互的,而 Program 是通过程序—HTTP 交互的

任何的 HTTP 请求只要浏览器上能使用,那么所谓的插件、程序应用都可以使用,无从防范!

目前最为广泛且廉价的防范手段就是 Captcha,学名很长,即:全自动区分计算机和人类的图灵测试,最常见的 Captcha 就是图形验证码。

图形验证码之所以有效源于计算机科学、模式识别和人工智能等相关学科研究的缺失导致的,根据既有技术而言,一个好的图形验证码不可能被程序 100% 地识别,至少在今后的一二十年内不可能。

12306.cn 上的验证码机制太简单了,看了一下,12306 验证码的图像生成基本上网上滥大街的程序产生的,建议增加字符扭曲、旋转等图像变形技术。
------解决方案--------------------


从前端控制肯定不好使,还得从后台下手,
后台监控session请求,如果一段时间内请求过于多的话,就提示用户输入验证码(这个要复杂点才行)
[解决办法]
使用智能验证码,就能防止。

[解决办法]
在客户端js做验证,正如楼主所说,点击的时候用js在客户端做dom元素判断,这个枚举元素可以不停的维护,刷票页只管引用,插件再厉害也不会修改js文件吧。这样js前端的执行效率还是很快的,又不会增加后端的请求次数。即时插件再厉害把引用文件去掉,也完全可以再后端刷票请求时,加一个执行js前段验证的标志位,没执行js验证的统统封杀。具体不太清楚插件能不能删除原有的dom元素,我个人认为不能删除原有的元素,如果可以随便删除dom,所有的网站都是有危险的了,都可以成为钓鱼网站。
[解决办法]
有一个方法可以永久解决这个问题,那就是保证每个人都能有票,就不用去抢了,自然也就没有了诸如抢票插件的生存土壤

热点排行