最爱高潮全过程免费的视频_国产无遮挡又黄又爽在线视频_免费人成在线视频_欧美老熟妇乱XXXXX

12306申請防止自動搶票專利,搶票軟件還有用嗎?

收藏 打印

今天是軟件春運的第一天,大家都搶到票了嗎?有多少打工人是申請定時搶票,不停地刷新網頁,防止最后仍然不得不花大價錢買“搶票加速包”才買到票的自動專利?

這兩天關于“12306已申請防止自動搶票專利”的新聞沖上熱搜,引發廣大網友的搶票搶票關注。

那么,軟件為什么有了軟件加持,申請就真的防止能買到緊缺的車票呢?如何才能防止自動搶票呢?今天從技術的角度來聊聊。

圖片來源:網絡截圖

網上購票時,自動專利到底發生了什么?

在12306上買火車票,搶票搶票和在淘寶、軟件京東這些電商網站上買東西,基本的流程是相似的,大概可以分成登錄、查詢、選擇、確認、支付這樣幾個步驟。

登錄是購票的前提,它會驗證使用者的身份是否是自己聲稱的身份,涉及個人信息的確認。

其原理也很簡單:用戶輸入自己的用戶名和登錄密碼,購票系統在自己的用戶數據庫中查詢,看看用戶名和密碼是否正確。如果正確的話,就認為用戶身份可信。

圖片來源:網絡截圖

在這一階段,風險在于用戶身份可能被仿冒。仿冒者可能會大量嘗試不同的密碼,或者使用其他網站泄露的密碼,來仿冒真正的用戶身份。

而通用的解決方案是雙管齊下:當用戶連續幾次輸錯密碼,就在一段時間內禁止登錄;以及在用戶輸入密碼后,再經過一個驗證步驟,來讓用戶拖拽拼圖,或者在一系列圖片中找到符合要求的圖片。

過去的12306曾因為驗證難度過高而為人詬病——在早期,12306的第一次驗證通過比例只有可憐的8%。當然,在經過多年持續改進后,這一問題已經被解決得差不多了。

確認了用戶身份后,接下來就是一路坦途。用戶先根據自己的出發地和到達地查詢余票情況,然后選擇自己想要的車次;然后選擇乘車人和座位信息,確認選擇正確后,支付票款。

這個過程,其實和用戶把身份證遞給火車站售票處的工作人員、由工作人員代為選票的過程是一樣的,只不過實現了完全自助而已。

有余票時,這個過程當然沒有問題,大家按照先來后到的順序逐一購票就好。但若是余票不足,而大家又都想買到票,那么就不免有人想要上一些技術手段了。

為什么技術手段可能可以搶到票?

購票時的技術手段,就是自動化搶票。自動化搶票的基本思路,是讓計算機模擬人的行為。

個人使用:若是開發一個僅僅自己使用的自動化搶票程序,還是比較簡單的。先用自己的個人信息登錄,人工通過身份驗證,然后以較高的頻率持續查詢想要的車次,當查詢返回的數據表示有余票時,馬上下訂單。

此時的關鍵,在于分析返回的查詢結果。而這也不難,畢竟查詢結果是返回的一串文字,從中提取信息比較容易。這就像是站在售票處窗口,過兩分鐘就問一次有沒有票一樣,反正12306的服務器是機器而不是售票處工作人員,只要計算能力允許就能做到有問必答,不會覺得這樣問來問去很煩。

多人使用:而若是要為許多人搶票,就會麻煩一些。幫助用戶登錄和通過驗證比較麻煩,畢竟讓計算機像人那樣識別圖形、通過驗證過程還是有些難度的——驗證碼發明出來,就是為了讓計算機難以冒充人。

圖片來源:網絡截圖

不過既然是技術問題,那往往也就會有技術解決方案。隨著計算機視覺技術的發展,攻破圖形驗證碼并不是難以做到的事情,只是拉高了技術門檻而已。

所以自動化搶票的過程,就像是一群人堵在售票處窗口,過幾秒鐘就有人過來問一遍有沒有票,直到買到票或者過了售票時間才罷休。

自動化搶票會帶來幾個后果:對那些規規矩矩排隊買票的用戶不公平;浪費了12306服務器的計算資源,可能降低12306用戶的購票體驗;以及降低了所有用戶的幸福感——沒有買到票的用戶自然不高興,而加了錢搶到票的用戶也未必開心。

所以當然,為了防止自動化搶票,也該有相應的技術手段才是。

如何防止自動化搶票?

有幾個基本思路可以提高自動化搶票的技術難度。

1.識別來自自動化搶票軟件的行為,找到那些自動化搶票的機器黃牛。

具體而言,可以通過分析服務器的訪問情況,篩選出那些短時間內頻繁查詢車票信息的機器,禁止它們訪問;而自動化搶票軟件為了對應這一方案,則往往會采取頻繁更換IP地址的方式。所以這種思路,只能作為基礎。

2.讓自動化搶票軟件無法獲得有效的余票信息。

如前所述,我們向12306上發起的每次余票查詢,都會向用戶的瀏覽器返回一串文字,而搶票軟件會分析這串文字,獲取余票信息。如果返回的不是文字,搶票軟件要處理起來就會麻煩得多。畢竟計算機視覺和人類視覺很不一樣,人能一眼看出來的東西,計算機識別起來并不容易。

圖片來源:網絡截圖

2021年11月,中國鐵道科學研究院電子計算技術研究所申請了一項名叫《一種防止自動搶票方法及系統、設備和存儲介質》的專利,采用的就是這種思路。在這項專利中,研究者把查詢后的余票信息轉換成了可伸縮矢量圖像(SVG,ScalableVectorGraph),再發送回用戶的瀏覽器上。

SVG是一種很有意思的圖像格式。它是圖像,但卻用文字來描述圖像中的位置、顏色、線條寬度等等信息;它使用相對點來保存數據,因此可以縮放到任意大小而不會失真。這兩個特征,讓它既可以容易地通過程序繪制,也適合出現在任意大小的顯示器上。

在防自動化搶票上,它的這兩個特征就很有用了:查詢返回的是圖片,傳統的自動化搶票軟件無法從中提取出和車票信息相關的文字,自然也就無法搶票。而手動購票的用戶,能識別出這些圖片中的車票信息,依然只需點擊想要的車次信息,就可以繼續購票。

在上文所述專利中,也提出了一種巧妙的驗證方式:使用文字組合,實現基于文字推理的行為驗證。就是讓用戶在購票前再通過一次行為驗證。

具體而言,大概像是這樣:首先,隨機選擇幾個漢字,把它們轉成SVG圖像,再分成上下兩部分。然后,展示這些漢字的上半部分,和其中一個字的下半部分。最后,讓用戶找到正確的拼合方式,只有組成正確的漢字,才算通過驗證。

只有圖5才是正確的。圖片來源:上述專利說明書

自動化搶票軟件要通過這種驗證,則需要“認字”才行,也就是說需要擁有一個字庫,以及能夠對照字庫尋找正確的拼合方法,這無疑會增加自動化搶票的難度。

總而言之,要防自動化搶票,就要為購票系統設計一些障礙,這些障礙對于人來說不難,而對于計算機來說暫時還很難。

畢竟需求就是動力,計算機的能力也會提升。技術會逐步升級,自動化搶票和反自動化搶票會是一場持續的拉鋸戰。

文章關鍵詞:用戶,驗證,自動化,查詢,信息 責編:趙惠