safeCode.php文件中的代码如下所示:
function.php中产生随机字符的代码如下所示:
如何使用:
在需要用到验证码的地方加下面的代码,你就会看到生成的验证码图片了
- <?
- if(isset($_REQUEST["rand"]) && !emptyempty($_REQUEST["rand"])){
- $randStr = $_REQUEST["rand"];
- }else {
- $randStr = "1234";
- }
- $type = 'gif';
- $width= 40;
- $height= 18;
- header("Content-type: image/".$type);
- srand((double)microtime()*1000000);
- $randval = $randStr;
- if($type!='gif' && function_exists('imagecreatetruecolor')){
- $im = @imagecreatetruecolor($width,$height);
- }else{
- $im = @imagecreate($width,$height);
- }
- $r = Array(225,211,255,223);
- $g = Array(225,236,237,215);
- $b = Array(225,236,166,125);
- $key = rand(0,3);
- $backColor = ImageColorAllocate($im,$r[$key],$g[$key],$b[$key]);//背景色(随机)
- $borderColor = ImageColorAllocate($im, 0, 0, 0);//边框色
- $pointColor = ImageColorAllocate($im, 255, 170, 255);//点颜色
- @imagefilledrectangle($im, 0, 0, $width - 1, $height - 1, $backColor);//背景位置
- @imagerectangle($im, 0, 0, $width-1, $height-1, $borderColor); //边框位置
- $stringColor = ImageColorAllocate($im, 255,51,153);
- for($i=0;$i<=100;$i++){
- $pointX = rand(2,$width-2);
- $pointY = rand(2,$height-2);
- @imagesetpixel($im, $pointX, $pointY, $pointColor);
- }
- @imagestring($im, 3, 5, 1, $randval, $stringColor);
- $ImageFun='Image'.$type;
- $ImageFun($im);
- @ImageDestroy($im);
- ?>
function.php中产生随机字符的代码如下所示:
- <?
- //产生随机字符串
- function randStr($len=6,$format='ALL') {
- switch($format) {
- case 'ALL':
- $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
- break;
- case 'CHAR':
- $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
- break;
- case 'NUMBER':
- $chars='0123456789';
- break;
- default :
- $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
- break;
- }
- $string="";
- while(strlen($string)<$len)
- $string.=substr($chars,(mt_rand()%strlen($chars)),1);
- return $string;
- }
- ?>
如何使用:
在需要用到验证码的地方加下面的代码,你就会看到生成的验证码图片了
- <img src="safeCode.php?rand=123456">
浙公网安备 33010602011771号