你是不是要經常輸入驗證碼?登錄網站時輸完密碼,要輸入一個單詞或者幾個歪歪扭扭不怎么好辨認的字母,這個場景一定不陌生?有沒有思考為什么要輸入驗證碼?驗證碼有什么作用?
其實,驗證碼存在的最大意義,就是區分在頁面上進行輸入操作的是人還是機械化的代碼編程。就像12306網站的驗證碼,它的“進化史”就是一部不斷與黃牛和搶票軟件“斗智斗勇”的歷史,從一開始的簡單數字、字母、加減法,到閃爍變形字母、干擾線變形字母,再到近些年不斷優化的挑戰人智商下限的圖形驗證碼……
“確定我不是機器人?”沒錯,驗證碼英文叫做CAPTCHA,Completely Automated Public Turing Test to tell Computers and Humans Apart,由CMU的教授Luis von Ahn提出,翻譯一下是“全自動區分計算機和人類的圖靈測試”,能夠防止軟件被大量惡意注冊,比如阻止在高峰節假日期間的購票被黃牛寫一串代碼就搶購一空。
到這里,你可能會說“我知道了為什么要輸驗證碼,可是輸驗證碼很無聊,輸錯了還要重輸。”那你一定是不知道,驗證碼還有這些潛藏的作用啊!
驗證碼的作用:
1、為了防止機器冒充人類做暴力破解:暴力破解想想就恐怖,這關系每個用戶的網絡安全,現在很多網站、APP都綁定用戶的銀行賬戶,有很多內容還涉及到個人隱私,如果被不法分子暴力破解,那損失可就大了。
2、防止大規模在線注冊濫用服務:很多機友肯定都很討厭那些惡意注冊灌水的,滿滿一屏全是惡意評論和廣告,瞬間沒有好心情;
3、防止濫用在線批量化操作:比如在投票的時候,有些惡意刷票軟件就可以實現批量化投票功能,想想自己辛苦拉票,人家一鍵就搞定?
4、防止自動發布:比如早些年黑客們寫一串代碼就肆無忌憚地朝網絡上傾倒大量的、無意義的僵屍信息,垃圾郵件、垃圾廣告、垃圾評論到處亂飛。污染了網絡環境的同時,更有甚者被廣告詐騙。
5、防止信息被大量采集聚合:互聯網時代,最有價值的就是內容生產,精心創作的原創文章,一秒被爬取?肝顫啊。
關於驗證碼的探索
越來越復雜的驗證碼,雖然增加了安全性,但是終究還是給很多網友帶來煩惱。有沒有操作上很簡單,但卻能保障安全的驗證碼形式呢?
其實,關於這個問題也有人在不斷研究升級中,比如頂象的智能無感驗證,推出了無需驗證即可判別使用者身份的驗證體系,其原理其實也非常簡單。風控引擎在用戶嘗試登陸或者做其他傳統需要驗證的操作行為前,就會對操作環境進行掃描,並對一些關鍵參數做分析,包括常用IP、地理位置、使用習慣、惡意特征、設備指紋等。基於大量模型和數據的分析,風控引擎便可以對用戶身份做出一個預先的判斷。如果風控引擎認為使用者是“好人”,便直接放行;如果判定為“機器”,則不予放行;如果存疑,便祭出驗證碼,您且滑一滑吧。這種方式對比上述的就相當的聰明和智能。
不要小看網站的這一枚小小的驗證碼,它可不是針對真正的用戶,而是為了防止那些別有用心的人惡意注冊和暴力破解(猜密碼)的,目的是保障干凈的網絡環境和用戶的安全,但是建議在方式上可以借鑒下某些安全廠商,比如上述提到的智能無感驗證方式。
推薦閱讀: