程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 一個簡單php驗證碼程序代碼

一個簡單php驗證碼程序代碼

編輯:關於PHP編程

網上生成php驗證碼程序用很多,下面我來給大家分享一款超不錯的php驗證碼程序代碼,有需要的朋友可參考。

驗證碼識別一般分為以下幾個步驟:

1. 取出字模
2. 二值化
3. 計算特征
4. 對照樣本

 代碼如下 復制代碼


function _code($_code_length = 4, $_width = 75, $_height = 25){
    for($i=0;$i<$_code_length;$i++){
        $_nmsg .= dechex(mt_rand(0,15));
    }
    $_SESSION["code"] = $_nmsg;

    $_img = imagecreatetruecolor($_width, $_height);

    $_white = imagecolorallocate($_img, 250, 250, 250);

    imagefill($_img, 0, 0, $_white);

    $_gray = imagecolorallocate($_img, 196, 196, 196);

    imagerectangle($_img, 0, 0, $_width-1, $_height-1, $_gray);

    for ($i=0; $i < 6; $i++) {
        $_md_color = imagecolorallocate($_img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
        imageline($_img, mt_rand(0,$_width), mt_rand(0, $_height),mt_rand(0,$_width), mt_rand(0, $_height), $_md_color);
    }

    for ($i=0; $i < 50; $i++) {
        $_md_color = imagecolorallocate($_img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
        imagestring($_img, 1, mt_rand(1,$_width-5), mt_rand(1, $_height-5), "*", $_md_color);
    }

    for ($i=0; $i < $_code_length ; $i++) {
        $_md_color = imagecolorallocate($_img, mt_rand(0,102), mt_rand(0,102), mt_rand(0,102));
        imagestring($_img, 5, $i * $_width/$_code_length+ mt_rand(1, 10), mt_rand(1, $_height/2), $_SESSION["code"][$i], $_md_color);
    }

    header("Content-Type:image/png");

    imagepng($_img);

    imagedestroy($_img);
}

驗證碼使用方法

 代碼如下 復制代碼

$getcode = $_POST['code'];

if( $_SESSION["code"] = $getcode )
{
  echo ' 驗證合法,進入下一步';
  unset( $_SESSION["code"] );
}
else
{
  echo ' 驗證碼不正確';
  header('location:vial.php');
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved