12306申请防止自动抢票专利,抢票软件还有用吗?( 二 )


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

12306申请防止自动抢票专利,抢票软件还有用吗?

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




推荐阅读