前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >php生成验证码函数

php生成验证码函数

作者头像
用户8099761
发布于 2023-05-10 13:46:04
发布于 2023-05-10 13:46:04
1.5K00
代码可运行
举报
文章被收录于专栏:私人订制私人订制
运行总次数:0
代码可运行

验证码主要用于防止恶意破解密码、刷票、论坛灌水、刷页等,日常开发中经常能使用到。如下提供了一个实用的php验证码函数,代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

function getCode($num,$w,$h) {
    $code = "";
    $str='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $len=strlen($str);
    for ($i = 0; $i < $num; $i++) {
        $code .= $str[mt_rand(0,$len-1)];
    }
    //将生成的验证码写入session,备验证时用
    $_SESSION["verifyCode"] = $code;
    //创建图片,定义颜色值
    header("Content-type: image/PNG");
    $im = imagecreate($w, $h);
    $black = imagecolorallocate($im, 0, 0, 0);
    $gray = imagecolorallocate($im, 200, 200, 200);
    $bgcolor = imagecolorallocate($im, 255, 255, 255);
    //填充背景
    imagefill($im, 0, 0, $gray);

    //画边框
    imagerectangle($im, 0, 0, $w-1, $h-1, $black);

    //随机绘制两条虚线,起干扰作用
    $style = array ($black,$black,$black,$black,$black,
        $gray,$gray,$gray,$gray,$gray
    );
    imagesetstyle($im, $style);
    $y1 = rand(0, $h);
    $y2 = rand(0, $h);
    $y3 = rand(0, $h);
    $y4 = rand(0, $h);
    imageline($im, 0, $y1, $w, $y3, IMG_COLOR_STYLED);
    imageline($im, 0, $y2, $w, $y4, IMG_COLOR_STYLED);

    //在画布上随机生成大量黑点,起干扰作用;
    for ($i = 0; $i < 80; $i++) {
        imagesetpixel($im, rand(0, $w), rand(0, $h), $black);
    }
    //将数字随机显示在画布上,字符的水平间距和位置都按一定波动范围随机生成
    $strx = rand(3, 8);
    for ($i = 0; $i < $num; $i++) {
        $strpos = rand(1, 6);
        imagestring($im, 5, $strx, $strpos, substr($code, $i, 1), $black);
        $strx += rand(8, 12);
    }
    imagepng($im);//输出图片
    imagedestroy($im);//释放图片所占内存
}

session_start();
getCode(4,60,30);
?>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-10-9,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
(1)绘制线条: imageline($p1, $p2, $p3, $p4, $p5, $6)
IT工作者
2021/12/20
1.1K0
php-生成验证码
致Great
2023/08/26
2770
php图形图像处理之生成验证码
现在网上越来越离不开验证码了,不知道小伙伴们知不知利用php的GD库就可以生成验证码,Σ(⊙▽⊙"a ......
于果
2021/08/25
8770
PHP生成验证码图片
PHP验证码生成 直接上编码: <?php $image=imagecreatetruecolor(100,30); $bgcolor=imagecolorallocate($image,255,25
红目香薰
2022/11/29
3.7K0
PHP生成验证码图片
PHP实现简单汉字验证码
经过粗略的搞吧搞吧,中文验证码也就显示出来了,当然一般网站使用的时候会有一个汉字库种子,从里面随机取出特定个数的汉字显示,最后就是记录到session进行验证了。
黄啊码
2020/05/29
1.9K0
php绘制图片验证码
验证码是一种安全保护机制,在注册时要求必须有人工操作进行验证,用于防止垃圾注册机大量注册用户账号占用服务器内存从而使服务器瘫痪。 图片验证码的实现十分简单。首先从指定字符集合中随机抽取固定数目的字符,以一种不规则的方法画在画布上,再适当添加一些干扰点和干扰元素,最后将图片输出,一张崭新的验证码就完成了。 前端代码如下: <!DOCTYPE html> <html> <head>     <meta http-equiv="content-type" content="text/html;charset=u
lonelydawn
2018/02/09
1.5K0
php绘制图片验证码
GD实战开发验证码
GD GD库是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,在网站上GD库通常用来生成缩略图,或者用来对图片加水印,或者用来生成汉字验证码,或者对网站数据生成报表等; 今天benny带领大家学习并分享一个生成验证码类。 设置Captcha类属性 作为一个普通的验证码,它由以下几个方面组成: 验证码:public $checkcode; //产生的验证码验证码图片:private $checkimage; //验证码图片 图片的宽高和验证码个数:private $width=80,$heig
benny
2018/03/06
9840
GD实战开发验证码
PHP 图片验证码的问题
发现没有问题,查看php.ini中的扩展,发现extension=php_gd2.dll 已经开启了
meteoric
2018/11/15
2.1K0
php编写生成酷炫验证码
1 <?php 2 $im=imagecreate(200,100);//生成画布 3 imagecolorallocate($im,0,0,0);//背景色 4 $white=imagecol
码缘
2019/09/11
8020
【说站】php不能生成图片的解决办法
1、打开gd2库,通过phpinfo进行查看。清除bom,代码是顶行开始写的,所以问题可能出现在代码上。
很酷的站长
2022/11/23
6130
php 利用GD库实现一个验证码功能(封装成了函数可自定义配置验证码外观及功能)
使用 GD库来完成验证码功能非常简单,库中大量函数 API 堆在一起就成了这个功能,下面代码注释中详细介绍了每段代码的功能,非常适合新手。
1338335202用户
2022/12/19
5050
php 利用GD库实现一个验证码功能(封装成了函数可自定义配置验证码外观及功能)
imagestring生成验证码字符太小,采用imagettftext函数的验证码修正版
imagestring只内置了5中字符大小,在前端根据美工设计常常无法满足需求。采用imagettftext函数生成验证码图片,可自定义字体和大小。源码如下:
世纪访客
2018/08/02
1.5K0
imagestring生成验证码字符太小,采用imagettftext函数的验证码修正版
asp.net 加入验证码
验证码生成页面代码(清理掉没用的html) using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Drawing; using System.Threading; using System.Drawing.Text; using System.Drawing.D
冰封一夏
2019/09/11
2.3K0
php开发_图片验证码
===========================================================
Hongten
2018/09/13
2.9K0
php开发_图片验证码
简单数字图片验证码的生成及识别
网站上的验证码的作用是保护网站安全,一般网站都要通过验证码来防止机器大规模注册,机器暴力破解数据密码等危害。
字节脉搏实验室
2020/03/19
2.3K0
简单数字图片验证码的生成及识别
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
$black = imagecolorallocate($img, 0x00, 0x00, 0x00);
用户8824291
2021/07/13
8700
用PHP实现验证码功能
上面的代码中,img标签的src指向了一个名为vcodeimages.php的文件,这个文件就是负责实现生成验证码图片的PHP程序,下面我们看看vcodeimages.php文件的代码,也是验证码的实现方法:
魏杰
2022/12/23
1.9K0
【干货】验证码的常见类型总结
验证码是一种区分用户是计算机和人的公共全自动程序。简单来说,验证码就是验证操作是人还是机器。下面我就总结一下常见的验证码类型都有哪些?
用户9953929
2023/05/09
1.3K0
一起学习PHP中GD库的使用(二)
在日常的开发过程中,GD 库最常用的功能就是帮我们对图片进行一些处理,当然,除了处理已有的图片之外,它也可以直接来画图,就像我们最常见的图片验证码。今天的内容主要就是和画图有关,所以最后我们也会做一个非常简单的图片验证码的例子。
硬核项目经理
2021/08/06
9490
一起学习PHP中GD库的使用(二)
相关推荐
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验