具体而言,可以通过分析服务器的访问情况 , 筛选出那些短时间内频繁查询车票信息的机器,禁止它们访问;而自动化抢票软件为了对应这一方案,则往往会采取频繁更换 IP 地址的方式 。所以这种思路 , 只能作为基础 。
2.让自动化抢票软件无法获得有效的余票信息 。
如前所述,我们向 12306 上发起的每次余票查询 , 都会向用户的浏览器返回一串文字,而抢票软件会分析这串文字,获取余票信息 。如果返回的不是文字 , 抢票软件要处理起来就会麻烦得多 。毕竟计算机视觉和人类视觉很不一样,人能一眼看出来的东西 , 计算机识别起来并不容易 。

文章插图
2021 年 11 月,中国铁道科学研究院电子计算技术研究所申请了一项名叫《一种防止自动抢票方法及系统、设备和存储介质》的专利,采用的就是这种思路 。在这项专利中 , 研究者把查询后的余票信息转换成了可伸缩矢量图像(SVG,Scalable Vector Graph),再发送回用户的浏览器上 。
SVG 是一种很有意思的图像格式 。它是图像,但却用文字来描述图像中的位置、颜色、线条宽度等等信息;它使用相对点来保存数据,因此可以缩放到任意大小而不会失真 。这两个特征,让它既可以容易地通过程序绘制,也适合出现在任意大小的显示器上 。
在放自动化抢票上,它的这两个特征就很有用了:查询返回的是图片,传统的自动化抢票软件无法从中提取出和车票信息相关的文字 , 自然也就无法抢票 。而手动购票的用户,能识别出这些图片中的车票信息 , 依然只需点击想要的车次信息,就可以继续购票 。
在上文所述专利中,也提出了一种巧妙的验证方式:使用文字组合,实现基于文字推理的行为验证 。就是让用户在购票前再通过一次行为验证 。
具体而言,大概像是这样:首先,随机选择几个汉字,把它们转成 SVG 图像,再分成上下两部分 。然后,展示这些汉字的上半部分,和其中一个字的下半部分 。最后,让用户找到正确的拼合方式,只有组成正确的汉字,才算通过验证 。自动化抢票软件要通过这种验证,则需要“认字”才行,也就是说需要拥有一个字库,以及能够对照字库寻找正确的拼合方法,这无疑会增加自动化抢票的难度 。
总而言之 , 要防自动化抢票 , 就要为购票系统设计一些障碍,这些障碍对于人来说不难,而对于计算机来说暂时还很难 。
毕竟需求就是动力 , 计算机的能力也会提升 。技术会逐步升级 , 自动化抢票和反自动化抢票会是一场持续的拉锯战 。
转载自:科普中国
作者:猛犸 哈尔滨理工大学
推荐阅读
- 知乎怎么申请直播权限呢 知乎怎么申请直播权限
- 公租房申请后多长时间能批下来 公租房申请后多长时间能批
- 微信该咋的才可以申请退款,微信直播买的东西怎么退款
- 如何申请通信行程卡,怎样申请通信大数据行程卡
- 为什么你的抢票软件没用了?12306 防自动抢票专利了解一下
- 2023年如何在线申请护照签证 2023年如何在线申请护照
- 婚前隐瞒了疾病婚姻能否撤销 婚前隐瞒疾病可以申请撤销婚姻吗
- 住房救助该如何申请
- 猫传腹要测试什么,猫传腹救助申请怎么申请
- 相互宝互助金需要出院后申请,相互保退出后还能买什么保险
