PHP開發(fā)驗證碼教程之概述
一 .? 什么是驗證碼
驗證碼(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自動區(qū)分計算機和人類的圖靈測試)的縮寫,是一種區(qū)分用戶是計算機還是人的公共全自動程序??梢苑乐梗簮阂馄平饷艽a、刷票、論壇灌水,有效防止某個黑客對某一個特定注冊用戶用特定程序暴力破解方式進行不斷的登陸嘗試,實際上用驗證碼是現(xiàn)在很多網(wǎng)站通行的方式,我們利用比較簡易的方式實現(xiàn)了這個功能。這個問題可以由計算機生成并評判,但是必須只有人類才能解答。由于計算機無法解答CAPTCHA的問題,所以回答出問題的用戶就可以被認為是人類。
二 驗證碼簡介:
驗證碼這個詞最早是在2002年由卡內(nèi)基梅隆大學(xué)的路易斯·馮·安、Manuel Blum、Nicholas J.Hopper以及IBM的John Langford所提出??▋?nèi)基梅隆大學(xué)曾試圖申請此詞使其成為注冊商標, 但該申請于2008年4月21日被拒絕。一種常用的CAPTCHA測試是讓用戶輸入一個扭曲變形的圖片上所顯示的文字或數(shù)字,扭曲變形是為了避免被光學(xué)字符識別(OCR, Optical Character Recognition)之類的電腦程序自動辨識出圖片上的文數(shù)字而失去效果。由于這個測試是由計算機來考人類,而不是標準圖靈測試中那樣由人類來考計算機,人們有時稱CAPTCHA是一種反向圖靈測試。
為了無法看到圖像的身心障礙者,替代的方法是改用語音讀出文數(shù)字,為了防止語音辨識分析聲音,聲音的內(nèi)容會有雜音。
三? 作用
防止惡意破解密碼、刷票、論壇灌水、刷頁。
有效防止某個黑客對某一個特定注冊用戶用特定程序暴力破解
方式進行不斷的登錄嘗試,實際上使用驗證碼是現(xiàn)在很多網(wǎng)站通行的方式(比如招商銀行的網(wǎng)上個人銀行,百度社區(qū)),我們利用比較簡易的方式實現(xiàn)了這個功能。雖然登錄麻煩一點,但是對網(wǎng)友的密碼安全來說這個功能還是很有必要,也很重要。但我們還是 提醒大家要保護好自己的密碼 ,盡量使用混雜了數(shù)字、字母、符號在內(nèi)的6位以上密碼,不要使用諸如1234之類的簡單密碼或者與用戶名相同、類似的密碼 ,免得你的賬號被人盜用給自己帶來不必要的麻煩。
驗證碼通常使用一些線條和一些不規(guī)則的字符組成,主要作用是為了防止一些黑客把密碼數(shù)據(jù)化盜取。
四 使用流程
大多數(shù)網(wǎng)站的驗證碼都是需要點擊一下填寫框,然后會自動彈出驗證碼圖片。
由于驗證碼是隨機產(chǎn)生的,有很大幾率會出現(xiàn)無法清楚識別的驗證碼圖片,所以需要注意的是,一般網(wǎng)站都會有相應(yīng)的提示,如“看不清,換一張”等,如果沒有提示,則直接點擊當前的驗證碼圖片,可以完成驗證碼的更換