php實現驗證碼制作
驗證碼分為:數字驗證碼,字母驗證碼,數字加字母驗證碼,圖片驗證碼,漢子驗證碼,視頻驗證碼等!由于原理相同,且根據平時的使用范圍來看,今天在這里只講數字驗證碼,字母驗證碼,數字加字母驗證碼。下面是由百分網小編為大家整理的php實現驗證碼制作,喜歡的可以收藏一下!了解更多詳情資訊,請關注應屆畢業(yè)生考試網!
首先,看一張圖了解驗證碼生成的過程。
。1)生成驗證碼底圖
。2)驗證碼內容
。3)生成驗證碼
(4)對比校驗
驗證碼實現的核心技術分析
。╝)底圖的實現,并添加干擾元素
。╞)生成驗證內容
。╟)驗證內容保存在服務端
。╠)驗證內容的校驗
下面看代碼實現的過程
<?php
/*
這段代碼 實現了產生 隨機數字,隨機數字+字母驗證碼
*/
session_start();
$image = imagecreatetruecolor(100, 30);
/pic/p>
$bgcolor = imagecolorallocate($image, 255, 255, 255);
/pic/p>
imagefill($image,0,0,$bgcolor);
/* 生成字母驗證碼
for($i=0;$i<4;$i++)
{
$fontsize = 6;
/pic/p>
$fontcolor = imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));
$fontcontent =rand(0,9);
$x = ($i*100/4) + rand(5,10);
$y = rand(5,10);
/pic/p>
imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
}
*/
/pic/p>
$captcha_code = "";
for($i=0;$i<4;++$i)
{
$fontsize = 6;
$fontcolor = imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));
$data = "abcdefghijklmnopqrstuvwxtz123456789";
$fontcontent = substr($data,rand(0,strlen($data)),1);
$captcha_code.=$fontcontent;
$x = ($i*100/4) + rand(5,10);
$y = rand(5,10);
imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
}
$_SESSION['authcode']=$captcha_code;
/pic/p>
for($i=0;$i<200;$i++)
{
$pointcolor = imagecolorallocate($image, rand(50,200), rand(50,200), rand(50,200));
imagesetpixel($image, rand(1,99), rand(1,29), $pointcolor);
/pic/p>
/pic/p>
}
/pic/p>
for($i=0;$i<3;++$i)
{
$linecolor = imagecolorallocate($image, rand(80,220), rand(80,220), rand(80,220));
imageline($image, rand(1,99), rand(1,29), rand(1,99), rand(1,29), $linecolor);
}
header("Content-Type: image/png");
imagepng($image);
imagedestroy($image);
?>
【php實現驗證碼制作】相關文章:
php如何實現驗證碼03-15
PHP實現簡易blog的制作01-25
php驗證碼代碼怎么寫08-30
實現PHP實現限制IP訪問02-23
一個漂亮的php驗證碼類01-10
仿照TP框架自帶的PHP驗證碼類12-29
用php生成帶有雪花背景的驗證碼01-08
php生成動態(tài)圖片驗證碼代碼08-11