织梦 dedecms 5.7 中文验证码下载

织梦教程 强烈建议 2024-02-26 11:45 499 0

  代码如下

  

  /**

  * 验证图片

  * 在网上下的,经过阿亮修改

  * 834114969@qq.com

  * http://liuzhiliang.com/

  */

  require_once(dirname(__FILE__)."/common.inc.php");

  //Session保存路径

  $sessSavePath = DEDEDATA."/sessions/";

  if(is_writeable($sessSavePath) && is_readable($sessSavePath)){ session_save_path($sessSavePath); }

  if(!empty($cfg_domain_cookie)) session_set_cookie_params(0,'/',$cfg_domain_cookie);

  session_start();

  //获取随机字符

  $rndstring = '';

  //$ch_h = chr(($num,0,2)+160);

  // $ch_l = chr(substr($num,2,2)+160);

  function c2ch($num){

  $ch_h = chr(substr($num,0,2)+160);

  $ch_l = chr(substr($num,2,2)+160);

  return $ch_h.$ch_l;

  }

  function num_rand(){

  mt_srand((double)microtime() * 1000000);

  $d= mt_rand(16,36);

  $n= mt_rand(1,19);

  return c2ch($d*100+$n);

  }

  for($i=0; $i<4; $i++) $rndstring .= gb2utf8(num_rand());

  //如果支持GD,则绘图

  if(function_exists("imagecreate"))

  {

  //Firefox部份情况会多次请求的问题,5秒内刷新页面将不改变session

  $ntime = time();

  if(empty($_SESSION['securimage_code_value_last']) || empty($_SESSION['securimage_code_value']) || ($ntime - $_SESSION['securimage_code_value_last'] > 1))

  {

  $_SESSION['securimage_code_value'] = strtolower($rndstring);

  $_SESSION['securimage_code_value_last'] = $ntime;

  }

  $rndstring = $_SESSION['securimage_code_value'];

  //创建图片,并设置背景色

  $x_size=80;

  $y_size=25;

  $font='simhei.ttf';

  $im=imagecreate($x_size,$y_size);

  $background_color = imagecolorallocate ($im, 255, 255, 255);

  // 随机颜色

  $fontColor[] = imagecolorallocate($im, 0x15, 0x15, 0x15);

  $fontColor[] = imagecolorallocate($im, 0x95, 0x1e, 0x04);

  $fontColor[] = imagecolorallocate($im, 0x93, 0x14, 0xa9);

  $fontColor[] = imagecolorallocate($im, 0x12, 0x81, 0x0a);

  $fontColor[] = imagecolorallocate($im, 0x06, 0x3a, 0xd5);

  $c_fontColor = $fontColor[mt_rand(0,4)];

  imagettftext($im,15,mt_rand(-8,8),6,mt_rand(19,22),$c_fontColor,$font,substr($rndstring,0,3));

  imagettftext($im,15,mt_rand(-8,8),37,20,$c_fontColor,$font,substr($rndstring,6,3));

  imagettftext($im,mt_rand(15,17),mt_rand(-8,8),22,20,$c_fontColor,$font,substr($rndstring,3,3));

  imagettftext($im,mt_rand(15,17),mt_rand(-8,8),54,mt_rand(19,22),$c_fontColor,$font,substr($rndstring,9,3));

  imagerectangle($im, 0, 0, $x_size - 1, $y_size - 1,$black);

  header("Pragma:no-cachern");

  header("Cache-Control:no-cachern");

  header("Expires:0rn");

  //输出特定类型的图片格式,优先级为 gif -> jpg ->png

  if(function_exists("imagejpeg"))

  {

  header("content-type:image/jpegrn");

  imagejpeg($im);

  }

  else

  {

  header("content-type:image/pngrn");

  imagepng($im);

  }

  ImageDestroy($im);

  exit();

  }

  else

  {

  //不支持GD,只输出字母 ABCD

  $_SESSION['securimage_code_value'] = "abcd";

  $_SESSION['securimage_code_value_last'] = '';

  header("content-type:image/jpegrn");

  header("Pragma:no-cachern");

  header("Cache-Control:no-cachern");

  header("Expires:0rn");

  $fp = ("data/vdcode.jpg","r");

  echo fread($fp,filesize("data/vdcode.jpg"));

  fclose($fp);

  exit();

  }

本站资源均来自互联网或会员发布,如果不小心侵犯了您的权益请与我们联系。我们将立即删除!谢谢!