close

"驗證碼"等于"流氓軟件" -網上推廣


  tanggaowei的blog:blog.tanggaowei.com

  “'驗證碼'等于'流氓軟件'”這句話本身存在邏輯問題,因為“驗證碼”并不是一個軟件,而是軟件里的一個功能。這句話的實際意思是,帶“驗證碼”功能的軟件是“流氓軟件”。

  請不要激動,且聽我道來。

  在很久很久以前(其實并不久),你登錄一個系統時,只需要輸入“用戶名”、“密碼”,然后“回車”就可以了,費不了多大勁。后來,出現了一些不良份子(多半是因為閑得無聊),利用程序反復登錄網站,以獲取他人密碼,或使系統超負荷甚至崩潰。為了應對這樣的危機,有人發明了“驗證碼”。

  最常用的“驗證碼”功能,是讓用戶識別一張圖片上的數字和字母,然后將識別的結果填入一個輸入框,和其它信息一起提交給系統。圖片上的數字和字母就是“驗證碼”。系統在執行其它操作之前,先驗證用戶輸入的“驗證碼”是否和圖片上的一致。如果不一致,則直接返回到客戶端,不進行余下操作。直到現在,圖像識別技術離成熟也還有很遠,對圖片上文字的識別率非常低。所以,惡意程序幾乎不可能通過圖片“驗證碼”的驗證。即使偶爾能識別一次,也不可能多次連續通過“驗證碼”的驗證。這樣,利用程序反復登錄,以獲取他人密碼的可能性幾乎等于零;而且,系統只進行一次“驗證碼”驗證,就將惡意登錄打回,極大地減輕了系統負擔。這樣,可謂一舉兩得呀!

  除了圖片“驗證碼”還有其它形式,這里就不多說了。但目的都是一個,就是讓人可以識別,而讓機器無法識別,以防止惡意程序的攻擊。

  既然“驗證碼”功能這樣好,怎么會跟“流氓軟件”聯系起來的呢?

  “驗證碼”功能確實好,一上陣就所相匹敵,戰無不勝!軟件設計人員紛紛請它來助陣,以提高他們系統的防御能力。于是,到如今,你登錄一個系統時,不只要輸入“用戶名”和“密碼”了,你還要輸入“驗證碼”。“用戶名”和“密碼”都是你記住的,很容易輸入。而“驗證碼”是隨機的,每次你都要去識別它。“驗證碼”功能并沒有一個統一的標準,各個系統各顯神通。有的加上顏色,有的加上背景圖案,有的字體大小不一,有的角度不同等等,以提高機器的識別難度。機器的識別難度是提高了,可是,人的識別難度在添加。有些“驗證碼”常常不是第一次就能識別正確,比如數字“1”和字母“l”就很難區分,有的字母大寫和小寫也很難區分。雖然有些系統提供刷新“驗證碼”的功能,以方便用戶選擇一個容易識別的“驗證碼”進行識別。但是,這并沒有從本質上解決問題,反而讓用戶進行了更多的操作。“驗證碼”功能帶來的本質問題是:每次登錄時都要多一個輸入“驗證碼”的操作,而“驗證碼”的隨機性和不易識別性,又使用輸入“驗證碼”操作本身變得愈加艱難和痛苦!

  “驗證碼”功能,強迫用戶進行不喜歡且不必要(以前就沒有)的操作,而且沒有任何選擇的余地,霸道得很。用戶雖然咬牙切齒,卻無能為力。所以,它對用戶來說,卻成了一個惡意功能。正規軟件加上惡意功能就成了“流氓軟件”。

  那么,前面花大段落描述了“驗證碼”功能對系統安全的好處,難道都是騙人的嗎?

  當然不是。“驗證碼”功能的出發點是好的,它的本質也是好的,只是,當它表現給用戶時,選擇的表現形式有問題。就像“廣告”,本身并不是惡意的,只是當它以“強行彈出”的形式表現出來就變成了惡意。


arrow
arrow
    創作者介紹
    創作者 pagepe 的頭像
    pagepe

    pagepe的部落格

    pagepe 發表在 痞客邦 留言(0) 人氣()