php 總結(13) 驗證碼實現原理

2022-01-29 19:18:03 字數 1169 閱讀 8035

思路   

1.用php生成驗證碼檔案 xx.php 用輸出,同時在session 儲存這個str

2.在登入介面 src引入這個 [ img src="vcode.php" onclick="this.src='vcode.php?id='+math.random()"  ] 點選重新整理 增加引數隨機數

3.判斷介面 check 轉小寫 刪除空格 通過session判斷驗證碼正確性[ $ncode=strtolower(str_replace(' ','',$code));]

<?php 

// 1.建立畫布資源

$img=imagecreatetruecolor(150,50);

// 2.準備顏色

$black=imagecolorallocate($img,0,0,0);

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

$red=imagecolorallocate($img,255,0,0);

$green=imagecolorallocate($img,0,255,0);

$blue=imagecolorallocate($img,0,0,255);

$gray=imagecolorallocate($img,180,180,180);

// 3.填充畫布

imagefill($img,0,0,$black);

$arr=array_merge(range(0,9),range(a,z),range(a,z));

shuffle($arr);

$str=join(' ',array_slice($arr,0,4));

//畫字

imagettftext($img,20,0,20,35,$white,'ms.ttf',$str);

//干擾素

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

// 5.輸出最終影象或儲存最終影象

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

// 從瀏覽器上輸出

imagepng($img);

// 把儲存到本地

// 6.釋放畫布資源

imagedestroy($img);

?>

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 設定為...