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