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用語音的方式念出來,然後再輸入就可以了... 不過對於又盲又失聰的人就是阻礙了。

6 則留言:

Zinc 提到...

盲人根本按不到按鈕吧 XD

話說我為了用聽的還特地去裝了 Apple QuickTime, 結果那播出來的是什麼鬼東西啊......

Mark 提到...

好吧,我沒有把詳細的流程說清楚,事實上盲人瀏覽網頁的方式會是直接看網頁的內容(會有軟體幫他把內容用點字機或是唸的方式唸出來),所以有的對盲人友善的網頁會把網頁內容擺在整個HTML比較靠近上面的地方,而把SideBar, Menu的東西擺在下面,這樣可以加速盲人瀏覽的速度,不用每次都重新把Menu List聽完就可以直接聽到網頁內容,那排版的時候只要用CSS就可以了,跟實際上擺在HTML裡頭的何處並不太相關。

回到原始的問題,盲人的確是"看"不到按鈕,但是他聽的到。只要你打開那個網頁的原始碼,就會發現類似下面的內容:
alt="視覺驗證"
alt="注意聽並輸入您聽到的號碼"

盲人是可以知道那個欄位的用處,而且懂得知道要去按那個按鈕地~~~

Mark 提到...

p.s. 知道盲人很辛苦了吧... 得聽那個鬼東西....

Mango 提到...

你很久沒寫新文章了...一度讓我覺得bloglines壞掉。

Mark 提到...

人懶...

建宏 提到...

高鐵訂票系統的包商台灣IBM, 本身根本沒有技術能力! 只會說謊、充內行、擺大牌耍官威, 遇到問題就是推跟躲, 我這裡就有當時他們事後簽的函! 證明就是他們台灣IBM能力不夠才會搞砸鍋, 我還寄給好多其他人看