• php验证码


    昨天写了一个验证码的功能

    1.首先生成验证码图片的界面

    <?php
    
    session_start();
    function random($len) {
        $srcstr = "1a2s3d4f5g6hj8k9qwertyupzxcvbnm";
        mt_srand();
        $strs = "";
        for ($i = 0; $i < $len; $i++) {
            $strs .= $srcstr[mt_rand(0, 30)];
        }
        return $strs;
    }
    
    //随机生成的字符串
    $str = random(4);
    
    //验证码图片的宽度
    $width  = 50;
    
    //验证码图片的高度
    $height = 25;
    
    //声明需要创建的图层的图片格式
    @ header("Content-Type:image/png");
    
    //创建一个图层
    $im = imagecreate($width, $height);
    
    //背景色
    $back = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
    
    //模糊点颜色
    $pix  = imagecolorallocate($im, 187, 230, 247);
    
    //字体色
    $font = imagecolorallocate($im, 41, 163, 238);
    
    //绘模糊作用的点
    mt_srand();
    for ($i = 0; $i < 1000; $i++) {
        imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pix);
    }
    
    //输出字符
    imagestring($im, 5, 7, 5, $str, $font);
    
    //输出矩形
    imagerectangle($im, 0, 0, $width -1, $height -1, $font);
    
    //输出图片
    imagepng($im);
    
    imagedestroy($im);
    
    $str = md5($str);
    
    //选择 cookie
    //SetCookie("verification", $str, time() + 7200, "/");
    
    //选择 Session
    $_SESSION["verification"] = $str;
    生成验证码

    2.test5界面显示验证码并且输入

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            function changing(){
                document.getElementById('checkpic').src="test4.php?"+Math.random();
            }
        </script>
    </head>
    <body>
    <form method="post" action="test1.php">
    <img id="checkpic" onclick="changing();" src='test4.php' />
    <input type="text" name="code" id="code"/>
        <input type="submit" value="提交"/>
    </form>
    </body>
    </html>
    显示验证

     3.验证码跳转阶段

    <?php
    session_start();
    
    
    $nam = $_POST['code'];
    $nam = md5($nam);
    //session_start();
    if($_SESSION["verification"]==$nam){
        echo "验证码正确";
    }else{
        echo "验证码错误";
        echo $_SESSION["verification"],$nam;
    }
    验证码验证
  • 相关阅读:
    [javase学习笔记]-8.7 静态代码块
    QT5.6 编译SQLServer驱动
    mnesia怎样改动表结构
    UVA 1541
    Topcoder SRM625 题解
    android自己定义渐变进度条
    显示vim当前颜色主题
    启动vim不加载.vimrc
    为ubuntu添加多媒体以及flash等等常用包
    linux c:关联变量的双for循环
  • 原文地址:https://www.cnblogs.com/wfswf/p/14815865.html
Copyright © 2020-2023  润新知