1.用随机函数产生随机验证码,考虑位数,是否有字母等
2.用session注册验证码变量,传递验证码的值
3.用GD函数将验证码生成图形发到浏览器
4.在表单里面加一个<input >让用户输入验证码
5.提交后,后台程序比较session传来的验证码和用户<input >里面提交的验证码是否一致
6.若一致则通过,否则作验证失败处理

解决方案 »

  1.   

    4位就好了。不需要有字母,。
    初学者,呵呵。有点没头绪。
    如果工作量大我就放弃掉。,呵呵。session还是有很多不懂。。
      

  2.   

    <?php
      /*************************************
       *文件名:auth_img.php                *
       *作者:  hbcb                        *
       *日期:  2004-02-01                  *
       *功能:  生成验证码图片              *
       *用法:  <img src="auth_img.php">    *
       *************************************/  session_start();  Header("Content-type: image/PNG");              //产生头部控制代码
      Header("Cache-Control: no-cache, must-revalidate");  srand((double)microtime()*1000000);             //初始化随机函数 
      while(($imgnum=rand()%10000)<1000);             //随机生成四位整数
      session_register("imgnum");                     //保存并传递本随机码  $img = imagecreate(40,18);                      //创建图像区域
      $qgcolor = ImageColorAllocate($img, 0,0,0);     //字体颜色
      $bgcolor = ImageColorAllocate($img, rand(150,250),rand(150,250),rand(150,250)); //背景色
      imagefill($img,0,0,$bgcolor);                   //生成背景
      imagestring($img, 9, 2, 1, $imgnum, $qgcolor);  //将四位整数验证码绘入图片   //加入干扰象素 
      for($i=0;$i<40;$i++){
        $qgcolor=ImageColorAllocate($img, rand(0,250),rand(0,250),rand(0,250)); 
        imagesetpixel($img,rand()%40,rand()%18,$qgcolor); 
        };  ImagePNG($img);                                //输出图像 
      ImageDestroy($img);                            //释放内存 
    ?> 其他部分自己试一下
      

  3.   

    没有GD库是不能用PHP生成图象的