PHP驗證碼應用,示例

2021-08-29 11:45:05 字數 1948 閱讀 8685

近日試著用php做了乙個驗證碼程式,示例如下:

一、準備乙個展示並提交驗證碼的頁面

<?php 

@header("content-type:text/html; charset=utf-8");

//開啟session

session_start();

?>

驗證碼:

二、以下是驗證碼生成頁面,該頁面在第一頁面中被

<?php 

header("content-type: image/gif");

session_start();

//驗證碼為隨機字元,以下是演算法

$randval;

for($i=0;$i<7;$i++)else

}//註冊驗證碼到session

session_register($randval);

//以下是繪製驗證碼圖

$height = 50;//圖高

$width = 100;//圖寬

$im = imagecreatetruecolor($width, $height);

$white = imagecolorallocate($im, 255, 255, 255);

$blue = imagecolorallocate($im, 0, 0, 64);

imagefill($im, 0, 0, $white);

srand((double)microtime()*1000000000);

imageline($im, mt_rand(0,$width/3), mt_rand(0,$height/3), mt_rand($width/3,$width), mt_rand($height/3,$height), $blue);

srand((double)microtime()*1000000);

imageline($im, mt_rand($width/3,$width), mt_rand(0,$height/3), mt_rand(0,$width/3), mt_rand(0,$height/3), $blue);

srand((double)microtime()*1000000);

imagestring($im,16 , mt_rand(0,$width - strlen($randval) * 10), mt_rand(0,$height-12), $randval, $blue);

imagegif($im);

imagedestroy($im);

/*需要注意的是:為了支援以上繪圖函式,我們必須在php載入gd2圖形處理庫,可修改 php.ini 檔案中的

;extension=php_gd2.dll

為extension=php_gd2.dll

即開啟gd2庫

*/?>

三、這是驗證頁面,提示是否通過驗證

<?php @header("content-type:text/html; charset=utf-8");

//開啟session

session_start();

//得到使用者輸入的驗證碼,並轉換成大寫

$imgid_req = $_request['imgid'];

$imgid_req = strtoupper($imgid_req);

//驗證該字串是否註冊了session變數

if (session_is_registered($imgid_req)) else

//關閉session,以清除所有註冊過的變數

session_destroy();

?>

四、開啟服務,在位址列中輸入 「.../input.php」 ,此處省略了主機及目錄名

php 繪製驗證碼 示例

1 2header content type image jpeg 34 session start 開啟session56 寬高 字型大小 7 width 120 8 height 40 9 fontsize 20 1011 給畫布寬高 12 img imagecreatetruecolor wi...

php驗證碼zhuc php實現驗證碼製作

php實現驗證碼製作 首先,看一張圖了解驗證碼生成的過程。1 生成驗證碼底圖 2 驗證碼內容 3 生成驗證碼 4 對比校驗 驗證碼實現的核心技術分析 a 底圖的 實現,並新增干擾元素 b 生成驗證內容 c 驗證內容儲存在服務端 d 驗證內容的校驗 下面看 實現的過程 這段 實現了產生 隨機數字,隨機...

驗證碼的應用

1 驗證碼是什麼?就是將一串隨機產生的數字或符號,生成一幅,裡加上一些干擾象素 防止ocr 由使用者肉眼識別其中的驗證碼資訊,輸入表單提交 驗證,驗證成功後才能使用某項功能。在記憶體中建立圖象 int width 60,height 20 bufferedimage image new buffer...