為什麼現在的網站都要放驗證碼?

今天的推文小編將和大家聊一聊

驗證碼

,主要內容會包括什麼是驗證碼、驗證碼是如何工作的、常見的驗證碼型別以及為什麼網站要放驗證碼。

相信小夥伴們在回家搶票或是網上衝浪的時候總會見到各種千奇百怪的驗證碼。近年來,驗證碼的形式也被玩兒的越來越花,比如這樣的:

為什麼現在的網站都要放驗證碼?

圖:來源於網路

這樣的:

為什麼現在的網站都要放驗證碼?

圖:來源於網路

還有這樣的:

為什麼現在的網站都要放驗證碼?

圖:來源於網路

面對這些驗證碼,你可能會忍不住陷入沉思:這種反人類的東西到底有什麼用呢?

為什麼現在的網站都要放驗證碼?

其實,

驗證碼的用處

很簡單,一句話就能講清楚:

用來區分計算機和真正的人類

驗證碼(CAPTCHA)

英文全稱是“Completely Automated Public Turing test to tell Computers and Humans Apart”,直譯就是

全自動區分計算機和人類的圖靈測試

相信大名鼎鼎的圖靈測試大家都聽說過,而驗證碼其實就是一種

圖靈測試的反向變種應用

在網際網路剛在全球普及時,最讓大家苦惱的就是郵箱裡大量的垃圾郵件,公司封號刪除的速度遠趕不上垃圾郵箱註冊程式的速度。

一位叫Luis的程式設計師發現計算機程式很難認出手寫體的文字,而人類可以輕鬆看懂,於是在註冊賬號時以此原理設定了門檻,早期的驗證碼從此而生。

為什麼現在的網站都要放驗證碼?

驗證碼有很多種類,最常見的驗證碼型別有:

基於文字的驗證碼、基於影象的驗證碼

基於音訊的驗證碼

基於文字的驗證碼:

通常由一串隨機生成的扭曲字元序列和文字框構成,只需在文字框中正確輸入看到的字元即可。

對爬蟲來說,簡單識別圖片中的字元並不難,因此為了增加難度,衍生出了需要輸入數學運算結果的驗證碼、帶有3D效果的驗證碼、圖片模糊的驗證碼等。

為什麼現在的網站都要放驗證碼?

圖:來源於網路

基於影象的驗證碼:

通常為使用者提供的是物體、動物、人或風景的影象,驗證碼通常會要求使用者選擇對正確的影象進行標識,或點選藏在圖片中的文字,或是拖動滑塊使影象方向正確,或對圖片進行拼貼完整等。

為什麼現在的網站都要放驗證碼?

圖:來源於網路

基於音訊的驗證碼:

利用從錄音中提取的隨機單詞或數字,將其組合在一起,甚至給音訊新增一些噪音,然後要求使用者輸入在錄音中聽到的單詞或數字,或是使用者將內容誦讀出來。

與文字驗證碼和圖片驗證碼相比,聲音驗證碼的處理難度更升了一個等級,因為讓資料抓取工具學會傾聽錄音並非易事。

為什麼現在的網站都要放驗證碼?

圖:來源於網路

當然,可能還會有小夥伴在糾結,每次都在為了輸入正確的驗證碼上浪費了太多時間,不過你千辛萬苦輸入正確的驗證碼可能並沒有被浪費,而是在為人工智慧技術添磚加瓦!感興趣的小夥伴可以自行百度閱讀下這篇文章:《 你以為自己在填驗證碼,其實你是在給 Google 義務勞動 》。

為什麼現在的網站都要放驗證碼?

如今計算機的普及,人們對計算機相關的自動化任務、服務變得習以為常,因此提升整體服務環境的安全級別就變得很重要。

驗證碼是在進行人機互動時確保是在與人類打交道的一個重要步驟,儘管計算機的識別技術越來越強,驗證碼也變得越來越複雜,

輸入驗證碼還是區別人和計算機最有效率的辦法

驗證碼除了能夠保護網站免受欺詐性註冊、垃圾郵件困擾,還能在一定程度上阻止自動收集、自動註冊、使用網站的爬蟲。

在反爬蟲策略思路介紹的文章中我們提到,驗證碼驗證也是一種反爬蟲措施:

一旦在採集資料的過程中出現驗證碼,爬蟲的資料採集工作就會因此而中斷。

因此,處理驗證碼對網路資料爬取非常重要,下篇文章中我們將為大家介紹常見的驗證碼破解方式,歡迎大家持續關注

“企通查”

~