回覆列表
-
1 # 莫問N
-
2 # 小C不會做美食
驗證碼一般是為了防止bot惡意操作,所以必須具備一個把人和程式分辨開的能力,也就是說驗證碼必須設計得能讓人辨認出來,而軟體辨認不出來。
它通常都做成圖片的形式,因為字元型文字太容易被程式所讀取,為了進一步防止驗證碼被程式識別,通常還會把圖片上的驗證碼文字用程式處理得歪歪斜斜。
驗證碼以防止:惡意破解密碼、刷票、論壇灌水,有效防止某個駭客對某一個特定註冊使用者用特定程式暴力破解方式進行不斷的登陸嘗試。
如果不搞的那麼辨認,就會很容易的被機器識別。起不到驗證碼的應有的作用。這就是為什麼要把驗證碼搞得歪七扭八的,模糊不清的。
-
3 # 隨風起舞不逾矩
驗證碼搞得奇形怪狀,簡單說就是為了安全,防止一些破解軟體惡意註冊、群發,灌水。其中最被吐槽的應該算是12306的驗證碼了,每年春運都要被吐槽一次。
驗證碼搞得奇形怪狀,難以識別,確實讓我們這些使用者感到頭疼。不過,這樣做也有人家的苦衷。笑哥專門諮詢了一些網站和技術人員,覺得明白其中的意義,關鍵要搞清楚三個問題。
第一,為什麼要使用驗證碼?
現在網站之所以普遍設定驗證碼,主要目的是防止一些別有用心的人惡意註冊、惡意登入。就比如一個公園,如果什麼人都進去,甚至有的人在裡面胡作非為,破壞公園設施,就得不償失了。如果設定一個門檻,比如收不高的門票,或者安排幾個保安,就會有效地避免這些問題。驗證碼就起到了這個門檻的作用。有的人出於個人目的,批次註冊賬號,惡意在論壇灌水,佔用了大量資源,並且也影響了網站的正常運作。有了驗證碼,就可以有效地把這些人擋在外面。
第二,什麼是驗證碼?
嚴格的講,驗證碼就是一種程式,其目的是為了區別使用者是計算機還是人。驗證碼有三個特點:一是隨機性。它是隨機產生的,沒有可以掌握的規律;二是複雜性。相對於機器碼而言,驗證碼難以清楚識別,需要人眼認真觀察;三是可更換性。對於複雜的、人眼無法清楚識別的驗證碼,一般有“換一張”的功能,可以點選更換,直至識別正確。
驗證碼主要有三種形式。一是數字式。最初,驗證碼一般是由四位數字組成,識別難度比較低,操作比較方便,但也便於破解。二是數字與字元混合式。常常是由隨機出來的數字和英文字母組成,有的網站還設定了比較複雜的背景,導致識別難度增加,也難以破解。三是圖形式。這是一種最新形式、技術水平也較高的驗證碼,把所提示的圖形用滑鼠拉到指定的位置,這種驗證碼破解難度更大。四是手機簡訊式。隨著行動通訊的普及,這種方式使用更加普遍,使用者在註冊的時候,網站會透過簡訊息的方式發給繫結手機一串數字或字元,使用者填寫正確後即成功註冊,這是目的破解難度最大的。
第三,為什麼要用奇形怪狀的驗證碼?
之所以在驗證碼上花費這麼大的心思,根本還是一種矛與盾的博弈。出於安全考慮,為了防止一些人惡意破解、惡意攻擊,使用奇形怪狀的驗證碼也是網站迫不得已的一種選擇。所以,大家也不要嫌麻煩,花一點點兒的時間填寫驗證碼,也是為了保護自己的權益。