>php教程 >php手册 >PHP简单验证码类

PHP简单验证码类

WBOY
WBOY원래의
2016-06-06 19:56:451350검색

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 header ("Content-type: image/jpeg"); $code=imagejpeg($this-im); }elseif (function_exists("imagegif")) { header("Content-type: image/gif"); $code=imagegif($this-im); } imagedestroy($this

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

 

  header ("Content-type: image/jpeg");

  $code=imagejpeg($this->im);

  }elseif (function_exists("imagegif"))

  {

  header("Content-type: image/gif");

  $code=imagegif($this->im);

  }

  imagedestroy($this->im);

  return $code;

  }

  /**

  * 检查验证码

  * @param $code

  * @return bool

  */

  public function checkCode($code) {

  session_start();

  $secode=explode(',', $_SESSION['initphp_code']);

  $time=time();

  //检查时间是否过期

  if($secode[0]>$time||$time-$secode[0]>$this->time)

  {

  return false;

  }

  //验证码密钥 双md5 后是否一致

  if($secode[1]md5(md5($code.'initphpYzmsy'.$secode[0]))){

  return false;

  }

  //检查验证码字符串是否一致

  if($code||$code$secode[2])

  {

  return false;

  }

  return true;

  }

  /*随机扭曲*/

  public function setWarping(){

  $rgb=array();

  $direct=rand(0,1);

  $width = imagesx($this->im);

  $height = imagesy($this->im);

  $level=$width /20;

  for($j = 0;$j

  for($i = 0;$i

  $rgb[$i] = imagecolorat($this->im, $i , $j);

  }

  for($i = 0;$i

  $r = sin($j / $height * 2 * M_PI - M_PI * 0.5) * ($direct ? $level : -$level);

  imagesetpixel($this->im, $i + $r , $j , $rgb[$i]);

  }

  }

  }

  }

  ?>

  效果:

   PHP简单验证码类

  [1] [2] 

PHP简单验证码类

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.