胖瓜
現(xiàn)在的驗證碼多種多樣,包括文字、字母、圖案和問題等,有的相當復雜,讓人看了忍不住發(fā)牢騷:萬惡的驗證碼!
雖然驗證碼讓一些人恨之入骨,但是沒了它,我們可能會被黑客攻擊哦。
當驗證碼尚未出現(xiàn)時,黑客就相當猖狂。他們編寫了一種能重復編寫信息的程序,偽裝成人類用戶,肆無忌憚地朝網(wǎng)上傳遞大量無意義的“僵尸”信息,導致垃圾郵件、垃圾廣告、垃圾評論到處都是,論壇被灌水,有用的信息被淹沒,很多網(wǎng)站無法正常運營。
另外,還有數(shù)不盡的程序機器人不斷嘗試破解密碼、惡意刷票,從中非法謀利。
其中受影響最大的是電子郵件提供商。他們的用戶每天收到數(shù)以百計的垃圾郵件,嚴重影響了正常工作,更要命的是,這些垃圾郵件都是他們的免費郵箱發(fā)出的。
有什么方法可以約束程序機器人呢?
當時最有實力的郵件提供商雅虎公司決定下狠勁改善這個問題。公司的負責人聯(lián)系了卡內(nèi)基梅隆大學的學生路易斯·馮·安。
路易斯這個計算機天才認真研究了程序機器人的“工作手法”后,給出了一個獨特的方案:在用戶進行操作前,將試圖偽裝成人類的那些機器人鑒定出來并揪出來。
如何將人類和機器人區(qū)別開來?或者說,有什么是人類能夠輕易做到,而機器做不到的呢?
數(shù)學題?機器做得比人類出色多了;寫一篇洋洋灑灑的保證書保證“我是人類”?機器絕對寫得又快又好;畫一幅畫?拜托,誰有空每次在論壇發(fā)一次帖就畫一幅畫?而且說真的,機器畫畫也絕對比人類強……
路易斯發(fā)現(xiàn),對于鑲嵌在圖片中、被扭曲過、污染過的文字,人類可以用肉眼輕易地識別出來,而機器不能。他在導師曼紐爾·布魯姆的幫助下很快設計了一個程序,這個程序先會產(chǎn)生一個隨機的字符串,如smwm,然后對這串字符進行隨機的扭曲、重疊、污染,再顯示給要進行操作的用戶。只要能識別變形了的字符串,就是人類。
這個設計方案后來被命名為“CAPTCHA”,意思是全自動區(qū)分計算機和人類的圖靈測試,中文譯名就是驗證碼。(節(jié)選自蝌蚪五線譜)