VeriWord試用

 Fri, 20 Jul 2007 11:41:18 +0800

前一陣子找到的資料,使用VeriWord類別來做文字圖片驗證(Captcha)可以讓圖片驗證具有較高的安全性。所以就來試試看了。

VeriWord(官方網站在phpclasses上)看起來已經很久沒有人維護了(最後的日期是2004年,有一點久了).....手冊也找不到,不過使用起來很簡單。主要的功能包括:

  1. WordArt Creation:隨機選取提供的truetype字型來製作captcha,並且隨機改變每個字的水平/垂直位置、角度,並提供多種方法讓文字變形(預設有Wavy(波浪扭曲)、Bubbly(隨機產生的小泡泡干擾文字顯示)、BreakType(把文字的部份pixel拿掉),也可以自己撰寫filter來處理文字變形
  2. Noise Generation:根據提供的一些圖片隨機選取背景,或是自己產生隨機背景雜訊
  3. Word Generation:根據提供的字典檔案隨機選字、或是自己產生隨機的字母組合
  4. output:支援多種輸出圖檔格式(要看使用的GD Library版本)、可隨意指定長寬
  5. 簡單的驗證程式叫做VeriFicator
  6. 可以輸出成Flash格式,支援動畫flash背景(我看了一下原始碼,flash功能還沒寫完的樣子,有一些參數理論上要可以設定的,但是他寫死在程式裡)
  7. 使用設定檔來設定

大概介紹到這裡,先來試試吧。

先來看看怎麼安裝設定:

  1. 全部的東西都壓在一起,先把他解到一個目錄下
  2. veriword設定檔內容與你解壓縮出來的環境有一些不一樣,所以要做幾件事情:
    1. 建立fonts目錄,把你要隨機抽換的ttf檔案放進去
    2. 建立words目錄,然後把字典檔words放到目錄下(或是更改設定,把設定中的"words/words.txt"改成"words.txt"
    3. 建立noises目錄,用來放設計好的Background Noise圖檔(如果設定成RandomNoise就不會用到)
    4. 視環境調整veriword.ini
  3. 用瀏覽器開啟sample.php看看是否正常執行
  4. 根據自己的需求,繼承或改寫相關的類別

大概就這樣吧,用起來很簡單的,程式碼也不多,很容易了解,要整合到不同的程式裡面不會花很大功夫。

以下是sample.php跑出來的畫面:

這一張的captcha比較清楚,套用他的RandomNoise,有時候字會看不清楚....如果不是搭配BackgroundNoise的話,我想使用的字型最好挑選過,效果比較好。

這個程式已經沒人在維護,官方的manual連結也找不到了,但是我有google到還有別的網站有,檔名叫做manualveriword.pdf,參考一下。