PHP如何實現驗證碼

2022-05-08 08:03:11 字數 2328 閱讀 5964

現在來說說簡單的純數字驗證碼吧。

如果是初學者,建議按照我**的注釋 //數字 一步步來。最簡單的方法,還是把整個**複製走了。

新建乙個captcha.php:

<?php 

//11>設定session,必須處於指令碼最頂部

session_start();

/*$image = imagecreatetruecolor(100, 30); //1>設定驗證碼大小的函式

//5>設定驗證碼顏色 imagecolorallocate(int im, int red, int green, int blue);

$bgcolor = imagecolorallocate($image,255,255,255); //#ffffff

//6>區域填充 int imagefill(int im, int x, int y, int col) (x,y) 所在的區域著色,col 表示欲塗上的顏色

imagefill($image, 0, 0, $bgcolor);

//10>設定變數

$captcha_code = "";*/

//7>生成隨機數字

for($i=0;$i<4;$i++)

//10>存到session

$_session['authcode'] = $captcha_code;

//8>增加干擾元素,設定雪花點

for($i=0;$i<200;$i++)

//9>增加干擾元素,設定橫線

for($i=0;$i<4;$i++)

//2>設定頭部,image/png

header('content-type: image/png');

//3>imagepng() 建立png圖形函式

imagepng($image);

//4>imagedestroy() 結束圖形函式 銷毀$image

imagedestroy($image);

接著就是靜態頁的**了:index.html

從index.html可以看到,提交的表單是到form.php的,所以還要有乙個判斷的form.php**:

<?php 

header("content-type:text/html;charset=utf-8"); //設定頭部資訊

//isset()檢測變數是否設定

if(isset($_request['authcode']))else

exit();

}

顯示頁面如下:

數字加英文的驗證碼,只需更改captcha.php頁面中的 7》即可,其他兩個頁面不需要動,**如下:

<?php 

//11>設定session,必須處於指令碼最頂部

session_start();

$image = imagecreatetruecolor(100, 30); //1>設定驗證碼大小的函式

//5>設定驗證碼顏色 imagecolorallocate(int im, int red, int green, int blue);

$bgcolor = imagecolorallocate($image,255,255,255); //#ffffff

//6>區域填充 int imagefill(int im, int x, int y, int col) (x,y) 所在的區域著色,col 表示欲塗上的顏色

imagefill($image, 0, 0, $bgcolor);

//10>設定變數

$captcha_code = "";

//7>生成隨機的字母和數字

for($i=0;$i<4;$i++)

//10>存到session

$_session['authcode'] = $captcha_code;

//8>增加干擾元素,設定雪花點

for($i=0;$i<200;$i++)

//9>增加干擾元素,設定橫線

for($i=0;$i<4;$i++)

//2>設定頭部,image/png

header('content-type: image/png');

//3>imagepng() 建立png圖形函式

imagepng($image);

//4>imagedestroy() 結束圖形函式 銷毀$image

imagedestroy($image);

PHP實現驗證碼

目前,不少 為了防止使用者利用機械人自動註冊 登入 灌水,都採用了驗證碼技術。所謂驗證碼,就是將一串隨機產生的數字或符號,生成一幅,裡加上一些干擾象素 防止 ocr 由使用者肉眼識別其中的驗證碼資訊,輸入表單提交 驗證,驗證成功後才能使用某項功能。我們這裡展示了如何編寫 php程式實現驗證碼功能 一...

php實現驗證碼

繪製驗證碼 num 5 str getcode num,2 建立畫布 width num 20 height 30 im imagecreatetruecolor width,height color 0 imagecolorallocate im,100,18,199 color 1 imagec...

PHP實現驗證碼

建立並設定大小 image imagecreatetruecolor 100,30 設定驗證碼顏色 方法 imagecolorallocate 物件,int red,int green,int blue bgcolor imagecolorallocate image,190,234,239 設定為...