使用PHP在服务器端生成图文验证码

图文验证码的实现原理:

1)准备些许图片将其存储在数据库,每一张图片对应一个标识字段

2)在服务器端使用数组的形式将图片与标识字段组合起来

3)随机给客户端返回图片,并接受用户输入的字段

4)将用户输入的字段与服务器存储的与每张图片的信息进行比对

5)相同则通过,否则不通过

a)第一步生成验证码

createCode.php

<?php

       header("content-type:text/html;charset=utf-8");

       session_start();//开启服务器存储

       $table=array(

         'pic0'=>"猫",

          'pic1'=>'狗’,

          'pic2'=>'猴',

          'pic3'=>'鱼',

);

$index=rand(0,3);//生成随机数

$value=$table['pic'.$index];//取出随机值

$_SESSION['authcode']=$value;//将值存储在服务器端

$filename=dirname(__FILE__).'\\pic'.$index.'.jpg';//给出文件的地址

$content=file_get_contents($filename);//读取文件的内容

ob_clean();//清除缓存

header("content-type:image/jpg");//规定以jpg的形式输出图片

echo $contents;//输出图片文件

?>

b)使用验证码

useCode.php

<?php

       header("content-type:text/html;charset=utf-8");

if(isset($_REQUEST["authcode"])){

session_start();

if($_SESSION['authcode']==$_REQUEST['authcode']){

echo "<font>验证通过</font>";

}

else{

echo"<font>验证失败</font>";

}

exit();

}

?>

<!DOCTYPE html>

<html>

<head>

      <meta charset="utf-8">

<title>验证码正确</title>

</head>

</html>

<body>

        <form action="useCode.php">

                 <p>验证码图片:

                                  <img src="createCode.php?=<?php echo rand();?>

                                     οnclick="this.src='createCode.php?+<?php rand(0,200)?>'"

                                   alt=""

                                     ">

</p>

<p>输入验证码的内容:

<input type="text" name="authcode" value="">

</p>

<p>

      <input type="submit" value="提交">

</p>

</form>

</body>

 

转载于:https://www.cnblogs.com/zzp0320/p/7059940.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值