pear圖形驗證captcha新範例
圖形圖片驗證captcha在很多網站都看得到,主要用意是為了防堵大量垃圾塞入資料庫,並降低異常資料檢索的機會,只是對正常的使用者來說,還真感到有點麻煩。像google的圖片驗證就經常扭曲到讓我看不懂而寫錯…
雖然我不是很喜歡圖片驗證,但相信對於防spam還是有一定效果,所以在專案開發中,仍會把這樣的功能加上去。
php的圖形驗證程式,去google查一下就有;而pear也有貢獻這種功能的函式Text_CAPTCHA,減少撰寫php的程式碼和複雜度。
可惜Text_CAPTCHA內建的範例不是很親切,要撰寫的程式碼也很多,不但字型路徑要改,若是照它的方式來做,還可能會在主機端產生一大堆沒有刪除的驗證圖片。
Text_CAPTCHA的新範例(圖片生成至header,不存在主機):
一.先確認pear的執行環境無誤,並安裝Text_CAPTCHA套件(因為有相依性的關係,它同時也需要Text_Password、Image_Text;可以從這裡下載我的pear環境和套件)
二.圖片驗證碼要用的字型檔,需上傳到pear目錄裡的/Text/CAPTCHA/Font/(我字型是用arial.ttf,可自行更換)
三.下載範例回去測試修改
四.範例測試
參考資料:
Using PEAR’s Text_CAPTCHA to Secure Web Forms
How to implement CAPTCHA with PHP and GD