在網際網路事業中 需要沒有限制的分享力

在網路資訊爆發的世代
我們真正需要的是累積正向能量與生活中的感動!

CHEN I AHEAD OF THE CURVE

網路新知

News

首頁網路新知列表簡單的captcha驗證碼產生器!

研發經驗 簡單的captcha驗證碼產生器!

2017-08-10
分享新知

研發經驗2017-08-10

在看程式碼之前,讓我們先來了解captcha是什麼,以及它的重要性:

captcha,中文俗稱驗證碼,是一種區分用戶是電腦或人的公共全自動程式。
測試中,作為伺服器的電腦會自動生成一個問題,而這個問題必須只有人類才能解答。
通常,我們會使用圖形檔產生英文字母、數字等組合,讓用戶輸入圖片中的資訊並據此核對是否正確以檢驗。

目前captcha廣泛用於網站的留言板,這是為了防止有人利用電腦程式大量在留言板上張貼廣告或其他垃圾訊息,因此會要求留言者必須輸入圖片上所顯示的文數字或是算術題才可完成留言。
而一些網路上的交易系統(如訂票系統、網路銀行)為了避免被電腦程式以暴力法大量嘗試交易也會有此一驗證機制。


圖片來源:Google reCAPTCHA

而google目前使用的技術則是reCAPTCHA:由書本掃描下來無法準確的被光學文字辨識技術(OCR)識別的文字顯示在問題中,讓人類在回答問題時用人腦加以識別。

接下來,讓我們進入正題。

https://github.com/shijiechenatgithub/public-code/blob/master/captcha.php

上列網址可以連進github(關於github,我們有機會再來詳細說明,那應該是個很大的篇幅了),歡迎下載使用。

程式碼大公開,在參數設定時必須仔細,當然,我們也很貼心的標上註解了。
以php撰寫,並運用php內建的函數如imagecolorallocatealpha、imagecreatetruecolor等;這支程式倒是能被OCR識別,不過好處在於它會產生png檔,因此倒能跟UI完美結合成一體。
更改數字長度、圖片大小、文字顏色、背景顏色,都是可行的。
不過我們通常建議,背景與文字的顏色盡量使用對比色;若是設為相同色票的話,在去背的時候是很有可能把文字也一起去掉了。

若是想測試,則是可以借用此平台:

http://phpfiddle.org/

貼上程式碼之後,按下「F9」或是用滑鼠點擊「RUN-F9」就能看到測試結果了。

------迎接新浪潮 誠翊資訊專業呈現新技術

 
回列表

花蓮網頁設計應用中心-誠翊資訊網路應用事業官方網站

LOADING

0%