PHP 验证码登陆校验,PHP 验证码登陆校验
【 tulaoshi.com - PHP 】
前几天看见DEV-CLUB实行了验证码登陆校验.昨晚在PHP中进行了实现.欢迎大家和我讨论polygame@163.net
原理:生成一个图片,并且保存图片中显示的字符到SESSION.在登陆时判断输入的校验码是否和SESSION中校验码相同.
演示地址:
http://www.bingdu.net/bbs/
这是生成校验码和图片的文件checkNumber.php
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)<?php 
session_start(); 
  
if($act  ==  "init") 
{ 
        Header("Content-type:  image/png"); 
        srand(microtime()  *  100000); 
        $login_check_number  =  strval(rand("1111","9999")); 
  
        session_register("login_check_number"); 
        //这里是使用了SESSION来保存校验码. 
        //当然也可以用COOKIE 
        //setcookie("login_check_number",$login_check_number); 
        //然后将第一行的session_start()删除; 
        //不推荐使用COOKIE,因为使用COOKIE并不能进行安全的验证. 
  
        $h_img  =  imagecreate(40,17); 
        $c_black  =  ImageColorAllocate($h_img,  0,0,0); 
        $c_white  =  ImageColorAllocate($h_img,  255,255,255); 
        imageline($h_img,  1,  1,  350,  25,  $c_black); 
        imagearc($h_img,  200,  15,  20,  20,  35,  190,  $c_white); 
        imagestring($h_img,  5,  2,  1,  $login_check_number,  $c_white); 
        ImagePng($h_img); 
        ImageDestroy($h_img); 
  
        die(); 
} 
/* 
使用方法: 
在HTML文件中加入<input  type=text  name=number  maxlength=4<img  src="http://img.jcwcn.com/attachment/portal"
                        
来源:http://www.tulaoshi.com/n/20160129/1490856.html