為什麼很多網站的驗證碼都設置得肉眼都很難識別?

很多都很抽象,看也看不清楚。難道肉眼可識別的驗證碼就不能防止暴力破解嗎?


http://www.zhihu.com/question/20024042/answer/13714018


其實驗證碼根本不起作用,設計者的問題。他們總認為人眼識別困難,機器更加困難。這個是不對的~~

理想設計情況是,根本不考慮什麼垃圾驗證碼,除了給用戶添亂,就是增加程序員的工作量,維護量。


講個故事

20世紀90年代後期,網路逐漸擁堵(主要說國外)。有個傢伙發明了一款垃圾郵件程序軟體「Spambots」,向成千上萬的用戶批量發廣告信息,好多人的郵箱被擁堵。這些人會在各種網站註冊,在評論部分留下上千條廣告。網路從此成了一個不守規矩,不受歡迎,不夠友善的地方。

2000年,22歲的大學畢業生路易斯.馮.安提出一個想法:要求註冊的人提供身份證明。他想到找出一些人類容易辨別但是機器很難辨別的東西,於是他想出辦法:在註冊過程中顯示一些波浪狀,辨識度低的字母,人可以在幾秒內識別,但電腦卻會被難倒。

雅虎採用這個方法後,一夜間減輕了垃圾郵件帶來的苦惱。

馮.安把他的這一個創作成為「驗證碼」(全稱是全自動區分計算機和人類的圖靈測試)

5年後,每天有2億個驗證碼被用戶輸入。

再說說後來。每天這麼多的輸入,每個人都會耗用10秒,每天如果有2億次輸入,則每天至少50萬小時,12年美國最低工資每小時7.25美元,那麼每天就會浪費350萬或者每年10億美元。

當然,馮.安想到了,開發了ReCaptcha .關於它如何工作,大家可以百度。上面有的人也回答了這一個工具。

09年,ReCaptcha被谷歌收購,將這一技術用於圖書掃描項目。

我想以上故事應該解決了題主的問題。網站的驗證碼都設置得肉眼都很難識別?區別人和機器而已,阻止哪些沒安好心的傢伙。

註:資料摘自《BIG DATA》


驗證碼唯的一作用都是為了防止機器註冊。

人眼難識別的驗證碼,機器確實也更難識別。我有朋友是技術牛人,專門做過驗證碼的破解,要從圖片中識別出驗證碼,這事相當難,看他紙上的數字公式都一堆堆的。

同樣,人眼看得清楚的,機器也會更好辯認。

(上邊太多回答不對,真想一個一個沒有幫助啊)


你說的是reCAPTCHA(http://www.google.com/recaptcha)吧,現在被Google收購了,國外網站驗證碼經常是這種。

這種驗證碼創意很精彩,居然利用人眼識別驗證碼來幫助識別古文獻(所以才難認)。中文文檔看這裡:http://baike.baidu.com/view/1944705.htm


~~大家也了解下再來回答嘛……驗證碼識別我做過一段時間(騰訊的),為了增加機器識別的難度,在驗證碼生成時加入了旋轉、連筆、變形、加噪等等處理,這大大增加了通過神經網路智能識別的難度,自然人去看也暈了點,目前驗證碼識別仍是一個難題,很多高手都嘗試著去繞過它而不是識別它~


我感覺驗證碼應該要考慮到用戶體驗 而不僅僅是一個單純的 扭曲的機器


驗證碼,大多是為了防止機器人,爬蟲自動註冊機等。

給一個有意思驗證碼的一些創意:http://guan9907.blog.163.com/blog/static/172546528201142103839858/


我反而覺得reCAPTCHA比一般的隨機驗證碼好認, 因為reCAPTCHA的一般是英文單詞, 就算一兩個字母認不清楚也沒關係; 而隨機驗證碼前後沒有聯繫, 很難辨認.

就我個人而言, reCAPTCHA的錯誤率在1%以下, 建行的驗證碼辨認錯誤率可以達到30%...


銳派的驗證碼,我刷了10分鐘,放棄了註冊。弱弱的問一句,這程序員是腦子抽了嗎?

頓時覺得12306很友好了呢。


如何用人可以輕易做到,不麻煩,有趣,而機器不能做到的方式來區分人和機器,是網站設計者需要考慮的問題。現在不少網站的驗證碼除了帶給用戶麻煩和憤怒情緒外,幾乎沒別的作用。


因為機器人註冊太V5,各大網站不得不加大註冊碼的難度,防止機器人註冊增加垃圾用戶。網站驗證碼難度的加大,是設計人員與機器註冊軟體鬥爭的結果。


驗證碼做的肉眼也難以識別的唯一原因就是:在不斷的博弈中,簡單的驗證碼已經不能有效的防止機器人的行為,一些純技術導向的公司就有可能用不斷增加驗證碼難度的方法來增加機器破解的難度。

其實一個好的驗證碼要有兩個最重要的特性:

1.機器很難識別

2.人很容易識別

如果能滿足這兩種條件的驗證碼就算是一個成功的驗證碼。所以如果一個網站放出肉眼都很難識別的驗證碼,那麼PM真的可以去死了。當然12306除外,反正你得用,驗證碼就這樣你來打我啊!


過猶不及就不好了。

很多網站的驗證碼做的連人眼都很難識別,這就非常不好了。


清晰容易辨認的純數字或者純英文最好吧,而且根據情況才出現較好,為什麼設置那麼難以辨認?大概是為了防止機器註冊


呵呵,非也。並不是複雜的驗證碼機器就難識別了。比如說一些複雜的圖片底色其實壓根就沒用處。


1 演算法問題,生成圖片時額外的東西生成的太多了

2 防止暴力破解,計算機識別時命中率會低一些,其實沒什麼實際意義,既然人家都暴力了,識別時無非時間加長一些。

另外,超級鄙視此類驗證碼,驗證碼應該時簡潔,易操作的,比如做個圖片拼合什麼的。即新穎美觀,又能啟到和驗證的效果。


也許是為了設立用戶智商門檻。

那種二段式的詭異單詞驗證碼最坑爹了,而且不提示是否空格,不提示大小寫敏感。

不過現在有很多驗證問題倒是不錯。

正好看到這個:http://www.cnbeta.com/articles/141578.htm


推薦閱讀:

用戶體驗設計師未來怎麼發展?
UC瀏覽器首頁加入新聞是進步還是後退?
一個網站需要哪些功能才能對用戶有粘性?
為什麼互聯網產品的「找回密碼」不能把忘記的密碼直接通過郵件發給用戶?
如何完整的系統的分析一個網站的交互設計?例如有沒有一些規範的分析表格來進行填寫與收集。

TAG:驗證碼 | 用戶體驗設計 |