RandomQuotations/class/verifyCode.php

76 lines
2.4 KiB
PHP
Raw Permalink Normal View History

2020-08-06 22:01:56 +08:00
<?php
/**
* <EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>ͼƬ
*/
session_start();
Header("Content-type: image/gif");
/*
* <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
*/
$border = 0; //<2F>Ƿ<EFBFBD>Ҫ<EFBFBD>߿<EFBFBD> 1Ҫ:0<><30>Ҫ
$how = 4; //<2F><>֤<EFBFBD><D6A4>λ<EFBFBD><CEBB>
$w = $how*15; //ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
$h = 20; //ͼƬ<CDBC>߶<EFBFBD>
$fontsize = 10; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
$alpha = "abcdefghijkmnpqrstuvwxyz"; //<2F><>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1:<3A><>ĸ
$number = "23456789"; //<2F><>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2:<3A><><EFBFBD><EFBFBD>
$randcode = ""; //<2F><>֤<EFBFBD><D6A4><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
srand((double)microtime()*1000000); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$im = ImageCreate($w, $h); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤ͼƬ
/*
* <EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
$bgcolor = ImageColorAllocate($im, 255, 255, 255); //<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>ɫ
ImageFill($im, 0, 0, $bgcolor); //<2F><><EFBFBD><EFBFBD><E4B1B3>ɫ
if($border)
{
$black = ImageColorAllocate($im, 0, 0, 0); //<2F><><EFBFBD>ñ߿<C3B1><DFBF><EFBFBD>ɫ
ImageRectangle($im, 0, 0, $w-1, $h-1, $black);//<2F><><EFBFBD>Ʊ߿<C6B1>
}
/*
* <EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
*/
for($i=0; $i<$how; $i++)
{
$alpha_or_number = mt_rand(0, 1); //<2F><>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$str = $alpha_or_number ? $alpha : $number;
$which = mt_rand(0, strlen($str)-1); //ȡ<>ĸ<EFBFBD><C4B8>ַ<EFBFBD>
$code = substr($str, $which, 1); //ȡ<>ַ<EFBFBD>
$j = !$i ? 4 : $j+15; //<2F><><EFBFBD>ַ<EFBFBD>λ<EFBFBD><CEBB>
$color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //<2F>ַ<EFBFBD><D6B7><EFBFBD><E6BCB4>ɫ
ImageChar($im, $fontsize, $j, 3, $code, $color3); //<2F><><EFBFBD>ַ<EFBFBD>
$randcode .= $code; //<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
}
/*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>Ӹ<EFBFBD><EFBFBD>žͽ<EFBFBD>ע<EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>
*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>for()ѭ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD><EFBFBD><EFBFBD>
*/
/* + -------------------------------<2D><EFBFBD><E6B1B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ʼ-------------------------------------------- + */
for($i=0; $i<5; $i++)//<2F><EFBFBD><E6B1B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
$color1 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
ImageArc($im, mt_rand(-5,$w), mt_rand(-5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
/* + -------------------------------<2D><EFBFBD><E6B1B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>-------------------------------------- + */
/*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>Ӹ<EFBFBD><EFBFBD>žͽ<EFBFBD>ע<EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>
*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>for()ѭ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
/* + --------------------------------<2D><EFBFBD><E6B1B3><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD> <20><>ʼ------------------------------------------ + */
for($i=0; $i<$how*40; $i++)//<2F><EFBFBD><E6B1B3><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>
{
$color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //<2F><><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>ɫ
ImageSetPixel($im, mt_rand(0,$w), mt_rand(0,$h), $color2); //<2F><><EFBFBD>ŵ<EFBFBD>
}
/* + --------------------------------<2D><EFBFBD><E6B1B3><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD> <20><><EFBFBD><EFBFBD>------------------------------------------ + */
//<2F><><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>д<EFBFBD><D0B4>session <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1BDBB>¼<EFBFBD><C2BC>Ϣʱ<CFA2><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ȷ <20><><EFBFBD>磺$_POST['randcode'] = $_SESSION['randcode']
$_SESSION['yzm'] = $randcode;
/*<2A><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>*/
Imagegif($im);
ImageDestroy($im);
/*<2A><>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>*/
?>