zoukankan      html  css  js  c++  java
  • 使用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();?>

                                         onclick="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>

  • 相关阅读:
    Saltstack module apache 详解
    Saltstack module ip 详解
    Saltstack module iosconfig 详解
    Saltstack module introspect 详解
    Saltstack module inspector 详解
    Saltstack module ini 详解
    Saltstack module incron 详解
    Modbus 指令 RS485指令规则
    停车系统对接第三方在线支付平台(二)
    停车系统对接第三方在线支付平台
  • 原文地址:https://www.cnblogs.com/zzp0320/p/7059940.html
Copyright © 2011-2022 走看看