close

淺談Web Design中驗證碼使用的心得

剛才在A5論壇上修改自己資料時,看到要輸入驗證碼,不禁讓我想寫些什麼。經常上網逛論壇的網友對於驗證碼都不會陌生,隨著互聯網垃圾資訊的增多,基本上所有存在互動式的網站在用戶提交內容時,都會有驗證碼,而且驗證碼越來越變態,原因就是簡單的驗證碼己經無法阻擋垃圾資訊的入侵,像DZ論壇,甚至使用兩個網頁設計驗證碼,還有使用古詩填空。

驗證碼也許是現在網站影響用戶體驗中最壞的一環,越是複雜難認的驗證碼用戶體驗越差。最有名的算是騰訊的變形漢字和Google的超變形字母,當然有些討壇使用古詩填空或其他漢字類驗證碼,基本上把不懂漢語的用戶拒之門外。最近自己開發的一個新網站中,對驗證碼的使用,也算是有一點點心得體會,有時真的那麼需要驗證碼嗎?

 

1、如果網站設計技術上能達到檢測用戶的惡意輸入則不用驗證碼,或在檢測惡意輸入後,輸入驗證碼。這一點,豆瓣做得就比較好。或者通過用戶端JS加密函數在每次提交資料時,動態生成一串字元一起提交到伺服器端,在伺服器端根據某些參數做驗證,雖然JS加密函數會被破解,但每次可以隨機生成一些字元來做加密參數,這樣可以避免機器提交,像西祠。

 

2、如果技術上暫時做不到這些,那就儘量減少不必要的驗證碼。要明白使用驗證碼是為了阻止機器提交,機器提交資訊的目的是顯示資訊,對於有些用戶提交的內容是不對外顯示的,比如用戶登錄,比如用戶在修改自己資料時,比如用戶向網站提交建議,在這些地方加驗證碼,顯然是多此一舉,甚至會打消用戶提交的網頁寄存想法。

 

3、對於目前機器自動識別驗證碼的技術,無非就是通過學習驗證碼,分析其中字元並入庫,當樣本庫達到一定級別時,識別率也隨之上升,有的甚至可能達到90%以上。但是,機器學習是需要時間的,當驗證碼中字元發生改變後,之前的樣本庫基本上就沒有意義,所以在生成驗證時,隨機的字體,字型大小,變形程度,也可以讓機器識別的難度大上幾個級別。

 

arrow
arrow
    全站熱搜

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