四、驗證輸入結果

當使用者輸入了驗證碼之後,我們必須在網頁表單送出的PHP程式中進行驗證,程式的寫法是:

session_start();
$Code = $_REQUEST["Turing"];
if ( !isset( $_SESSION[‘turing_string’] ) ) { $ok = 1 }

else if ( strtoupper($_SESSION[‘turing_string’]) == strtoupper($Code))
{ $ok = 1 }
    else {
    $ok = 0;
    echo "<b><font color=red>驗證碼輸入錯誤!請回到上一頁重新輸入!
</font></b><br>";
    return 1;
     }

如此一來只要使用者輸入錯了驗證碼,就會出現「驗證碼輸入錯誤!」的訊息,然後PHP程式終止,使用者必須回到上一頁重新輸入。要注意的是程式碼裡面的"Turing"是剛才在表單中輸入驗證碼欄位的名稱,請自行修改

※PS:完整寫法在官方網站及資料夾中的howtoinstall.txt都有介紹。

五、Captcha Genie詳細設定說明

Captcha Genie的官方網站上有詳細的自訂設定選項,這邊介紹一下:

image

1.選擇樣板檔:一共有13種樣板可以選擇,選擇完後按下〔Load Template〕按鈕。

2.驗證圖片尺寸:可設定驗整圖片的大小,一般來說選擇Variable自動調整大小即可。

3.背景:可選擇圖片背景(有18種)、亂數背景或是固定顏色。

4.驗證碼類型:可選擇Math(數學加減法計算)或是Code(驗證字元),Code的部份預設是用小寫英文字母及數字(去掉數字的1跟英文字母l),最下面還可輸入要出現的驗證碼數字有幾個。

image

 

5.驗證碼字型:可使用隨機字型(random),或是指定字型(Fixed font),也可指定字型顏色(Font Color)、尺寸(Font Size)、傾斜角度(Font Rotation)、字距(Padding)。

6.驗證碼干擾:可設定用格線、圓形、三角形、直線或隨機等模式在圖片驗證碼上產生干擾效果,還可指定干擾的顏色。

設定完成後只要按下〔Save and Show〕按鈕就可以看到產生出來的驗證碼圖片了,圖片的難度均可自由調整,相當方便。如果滿意之後,按下「clicking here」就可以下載一個configuration.php,取代captcha資料夾中原本的檔案就可以了。

image

###

15 意見

  1. 嗯…我有照你上面說的做 但是我驗證碼的圖出不來…
    而且單獨開captcha裡的code.php就可以
    路徑我也檢查過了沒有問題 程式如下

    請輸入驗證碼:

    重點是…他裡面給的範本captcha.html 開出來也沒有圖…
    瀏覽器不管用ie google也一樣沒有圖 所以應該不是瀏覽器的問題
    那真正的問題到底是??

  2. 請問站長, Captcha Genie 使用起來好像方便但是發現有個重要的問題, Captcha Genie 並不是免費的, 秀出驗證碼的過程很簡單但是要送到後端就出問題了, 不知站長有沒有實際測試過輸出?

    我這邊測試的結果是顯示程式碼有錯誤, 不知道是不是故意拿掉;
    我把 ; 補上去結果無論是否正確都會通過, 這樣讓人很困擾

    最重要的是既然不是免費, 如果站長有辦法改成正確可以送到後端的版本, 我們是不是也不能用在自己的網站?

  3. 這東西好像有一些BUG
    像是code.php中的變數$d3 忘記加上$ 不出錯才怪阿
    還有如果你是到他們官網去自訂並且下載configuration.php
    可能會出現圖片時有時無的問題(因為code.php編譯時出錯了)
    用原來內建的configuration.php就不會

  4. 測試成功了。
    剛開始圖片也是出不來,發現是php檔路徑問題,要注意source code放在哪裡,以及code.php那支要include的php的路徑。
    至於送到後台應如何核對,要看它的文件:howtoinstall.txt
    裡面有寫他是用哪個變數接post,要與哪個 session 核對…。這段要修改,似乎有錯,反正改成自己想要的 return 的值就好了。
    至於demo version消除的方式…我是偷懶用css把它剪掉…哈

發表迴響