2008年1月6日 星期日

高鐵線上訂票的CAPTCHA

高鐵線上訂票的CAPTCHA

有時候看到某些網站的CAPTCHA還真會讓人啼笑皆非,上次我看到有個網站的CAPTCHA直接用PlainText大喇喇的寫在頁面上,然後叫人輸入這串文字....

這次高鐵沒這麼差,只是製造出一個機器很容易判讀的圖片而已。

現在的網頁如果要輸入一些資訊,無論是註冊,留言,訂票,可能最後都會叫你看著一張圖,然後叫你輸入圖片中是寫什麼文字,這是用來阻擋一些自動化的程式用的,除了用一些扭曲文字的圖片以外,還有的會叫你作簡單的運算叫你填寫結果,例如定便當網站,因為扭曲過後的文字,人還可以看的懂(不過有的真的是看不太懂阿....只好換下一張扭曲圖了...),但是用機器來判讀可能就會困難(這就牽扯到這程式聰不聰明了),你擺上一張沒有扭曲過的圖形,也沒有背景來擾亂,依現在的程式來說,加個OCR Engine就可以知道圖形裡頭寫什麼文字了,所以很容易就被攻破啦~~~ (啥? 不相信? 那就把那張圖片轉存成為JPEG,然後丟到這台WeOCR,他就會吐出辨識結果給你啦)

不知道寫這個程式的人只是跟隨流行而擺上去的,還是認為只要是圖就拿程式沒辦法了?
不過沒差啦,高鐵現在沒這麼熱門,不用訂票程式就可以訂到票了....(只是很容易被壞人攻擊亂訂票就是了...XD)

asirra
關於如何辨別是人還是機器,還有其他有趣的方法,例如微軟的asirra會動態秀出很多張照片,然後叫從裡面選出是貓或是狗的照片,這用機器也是很難作,不過對於那些貓狗不分的人可能就行不通了...

recaptcha
目前CAPTCHA的發明人建議用的是recaptcha這個一舉兩得的系統(高鐵其實也不用花心力自己作,人家都幫你作的好好的...),這個系統一次會秀出兩張圖片,然後叫你輸入這兩張圖片裡頭的文字,這圖片上的文字怎麼來的? 就是從真的書本上頭掃描(當然是選那些OCR沒辦法辨認的部份)然後加上一些扭曲變形之後得來的,所以你每作一次輸入就幫這世界的書籍的某一段小文字盡了一分數位化的心力。

既然兩張都是掃描得到的,那他怎麼知道你輸入的是正確的呢? 其實兩張裡頭有一張是已經被判讀過已知的圖形但是User並不知道,所以兩張都得輸入,當那張已知的輸入正確,那另外一張就是你的貢獻啦,當然有可能另外一張會重複出現給別人輸,有的人可能輸入其他的答案,例如1跟l,那系統只要選擇大多數人的答案當成數位化的結果就可以了(好像是三次一樣就會進資料庫)。

blogger_CAPTCHA
上面提到的CAPTCHA都是都必須用"人眼"來看才能判斷,那盲人怎麼辦? 寫這篇Blog的時候Blogger也會出現一個CAPTCHA,這個CAPTCHA旁邊有個按鈕,按下去之後就會將這個CAPTCHA用語音的方式念出來,然後再輸入就可以了... 不過對於又盲又失聰的人就是阻礙了。
張貼留言