1. 程式人生 > >為什麼很多網站的驗證碼都設定得肉眼都很難識別?

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

歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。


首先來談談驗證碼的機制,驗證碼作為一種人機識別手段,其終極目的,就是區分正常人和機器的操作。而對於沒有驗證碼的場景,比如使用者登陸,則機器可以同時、大批量的發起請求,一來系統可能扛不住,二來機器可以不斷變換密碼來嘗試破解使用者的密碼,實現盜號。


雖然,圖形類的驗證碼都是要求輸入字元和數字,但看似只是簡單的幾個輸入操作,而實際是人非常聰明,在人已知的知識體系下,能快速識別圖片中的文字。


而如果要機器來完成這個過程,則必須要讓機器能識別出圖片中的內容,亦即機器必須要有OCR的本領,這個本領是需要演算法支援的,就和人首先要識字一樣,否則人也打不出圖形驗證碼中的內容。


然而,現在已有的OCR技術,識別圖形驗證碼中的內容已經完全足夠,所以,圖形驗證碼非常容易破解。為了應付這種情況,很多網站加大驗證碼識別難度,複雜的驗證碼甚至讓使用者都很難識別了,這種方式劣勢十分明顯,糟糕的使用者體驗最終會讓網站流失使用者,這便是為什麼有人吐槽12306網站的驗證碼的原因了。


幸運的是現在市面上也出現了多種多樣的智慧驗證碼,這種驗證碼不管是從安全性、還是使用者體驗上,比圖形驗證碼都要好很多。常見的有:滑動拼圖驗證碼、圖中點選驗證碼、智慧無感知等,其背後的原理除了對滑塊起始位置的認知、圖中文字及其順序的認知外,實際還會基於在頁面上的操作行為、操作軌跡,以及當前裝置的指紋、所執行的環境等維度進行大資料分析,並利用有監督和無監督的機器學習手段,不斷升級和優化模型,不斷提供破解的成本,保證人機識別的效果。


目前,網易易盾的驗證碼體系已進行多次升級,從常規驗證碼體系(滑動拼圖、圖中點選、簡訊上行驗證),到最新的行為式驗證碼,包括類似google reCAPTCHA的無感知驗證碼均已支援。點選可免費試用


相關文章:
【推薦】 AndroidApp的破解技術有哪些?如何防止反編譯?