剛才在A5論壇上修改自己資料時,看到要輸入驗證碼,不禁讓我想寫些什么。 經(jīng)常上網(wǎng)逛論壇的網(wǎng)友對于驗證碼都不會陌生,隨著互聯(lián)網(wǎng)垃圾信息的增多,基本上所有存在交互式的網(wǎng)站在用戶提交內(nèi)容時,都會有驗證碼,而且驗證碼越來越變態(tài),原因就是簡單的驗證碼己經(jīng)無法阻擋垃圾信息的入侵,像DZ論壇,甚至使用兩個驗證碼,還有使用古詩填空。
驗證碼也許是現(xiàn)在網(wǎng)站影響用戶體驗中最壞的一環(huán),越是復雜難認的驗證碼用戶體驗越差。最有名的算是騰訊的變形漢字和Google的超變形字母,當然有些討壇使用古詩填空或其他漢字類驗證碼,基本上把不懂漢語的用戶拒之門外。 最近自己開發(fā)的一個新網(wǎng)站中,對驗證碼的使用,也算是有一點點心得體會,有時真的那么需要驗證碼嗎?
1、如果技術上能達到檢測用戶的惡意輸入則不用驗證碼,或在檢測惡意輸入后,輸入驗證碼。這一點,豆瓣做得就比較好。或者通過客戶端JS加密函數(shù)在每次提交數(shù)據(jù)時,動態(tài)生成一串字符一起提交到服務器端,在服務器端根據(jù)某些參數(shù)做驗證,雖然JS加密函數(shù)會被破解,但每次可以隨機生成一些字符來做加密參數(shù),這樣可以避免機器提交,像西祠。
2、如果技術上暫時做不到這些,那就盡量減少不必要的驗證碼。要明白使用驗證碼是為了阻止機器提交,機器提交信息的目的是顯示信息,對于有些用戶提交的內(nèi)容是不對外顯示的,比如用戶登錄,比如用戶在修改自己資料時,比如用戶向網(wǎng)站提交建議,在這些地方加驗證碼,顯然是多此一舉,甚至會打消用戶提交的想法。
3、對于目前機器自動識別驗證碼的技術,無非就是通過學習驗證碼,分析其中字符并入庫,當樣本庫達到一定級別時,識別率也隨之上升,有的甚至可能達到90%以上。但是,機器學習是需要時間的,當驗證碼中字符發(fā)生改變后,之前的樣本庫基本上就沒有意義,所以在生成驗證時,隨機的字體,字號,變形程度,也可以讓機器識別的難度大上幾個級別。
當然,事情總不是完美的,沒有100%的好方法,以上也只是自己在開發(fā)拼一拼網(wǎng)站時的一些心得,拼一拼最后選擇的是驗證碼,因為時間上原因,暫時沒有精力去像豆瓣或西祠那樣實現(xiàn),不過以后會改進的。 歡迎大家和我交流一些網(wǎng)站開發(fā)方面的心得。QQ:4154193 網(wǎng)址:。
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!