PHP中怎么实现中文汉字验证码
创始人
2024-12-19 06:24:22
0次

  1.算式验证码:

  session_start();

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

  $num1=mt_rand(0,9);//第一位数

  $num2=mt_rand(1,9);//第二位数

  $type_str="+-*";//方法字符串集合

  $type=substr($type_str,rand(0,2),1);//随机方法

  $change=mt_rand(1,3);

  if($change==1){

  $code="$num1$type$num2=";

  $result="\$verifyCode=$num1$type$num2;";

  eval($result);

  $_SESSION['authnum_session']=$verifyCode;

  }elseif($change==2){

  $result="\$verifyCode=$num1$type$num2;";

  eval($result);

  $code=$num1.$type."_=".$verifyCode;

  $_SESSION['authnum_session']=$num2;

  }elseif($change==3){

  $result="\$verifyCode=$num1$type$num2;";

  eval($result);

  $code="_".$type.$num2."=".$verifyCode;

  $_SESSION['authnum_session']=$num1;

  }

  $im=imagecreate(68,28);

  $black=imagecolorallocate($im,0,0,0);

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

  $gray=imagecolorallocate($im,200,200,200);

  $red=imagecolorallocate($im,255,0,0);

  imagefill($im,0,0,$white);

  imagestring($im,5,10,8,$code,$black);

  for($i=0;$i<70;$i++){>

  PHP中文汉字验证码怎么实现

  session_start();

  $ch_str="的一是在了不和有大这主中人上为们地个用工时要动国产以我到他会作来分生对于学下级就年阶义发成部民

  $len=mb_strlen($ch_str,"utf-8");//汉字长度

  $str=array();

  for($i=0;$i<4;$i++){   $pos=mt_rand(0,$len-5);//开始位置   $str[]=mb_substr($ch_str,$pos,1,"utf-8");   }   $authnum_session=implode("",$str);   $_SESSION['authnum_session']=$authnum_session;//记录到session   Header("Content-type:image/PNG");   //图片的长和高   $image_x=100;   $image_y=50;   $im=imagecreate($image_x,$image_y);   //这里取图片底色为白色   $bkg=ImageColorAllocate($im,255,255,255);   //显示的字体样式,这个要把文件放到对应的目录中,假如你没有文件就去window的字体文件中找一个吧。   $fnt="simhei.ttf";   //为图像分配一些颜色   $white=ImageColorAllocate($im,234,185,95);   //在图片上画椭圆弧,指定下坐标点   imagearc($im,150,8,20,20,75,170,$white);   imagearc($im,180,7,50,30,75,175,$white);   //在图片上画一条线段,指定下坐标点   imageline($im,20,20,180,30,$white);   imageline($im,20,18,170,50,$white);   imageline($im,25,50,80,50,$white);   //乱点的数量   $noise_num=3000;   $line_num=50;   //各种混乱字符的颜色   $rectangle_color=imagecolorallocate($im,0xAA,0xAA,0xAA);   $noise_color=imagecolorallocate($im,0x00,0x00,0x00);   $font_color=imagecolorallocate($im,0x00,0x00,0x00);   for($i=0;$i<$noise_num;$i++)   {   //在一个坐标点上画一个单一像素,这个点上面定义了,是黑色的。   //imagesetpixel($im,mt_rand(0,$image_x),mt_rand(0,$image_y),$noise_color);   }   for($i=0;$i<$line_num;$i++)   {   $line_color=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));   //在两个坐标点间画一条线,颜色在上面定义   imageline($im,mt_rand(0,$image_x),mt_rand(0,$image_y),mt_rand(0,$image_x),mt_rand(0,$image_y),$line_color);   }   for($i=0;$i<4;$i++)>

  注意:

  中文汉字验证码单独执行,然后获取session会发现验证码和session内容不一致。但是在img标签中src属性中引用这个中文汉字验证码文件时,然后获取session,这时两者内容时一致的。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...