用PHP实现生成网站验证码的代码是什么
Admin 2022-09-17 群英技术资讯 1743 次浏览
这篇文章主要介绍了“用PHP实现生成网站验证码的代码是什么”相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇用PHP实现生成网站验证码的代码是什么文章都会有所收获,下面我们一起来看看吧。为了防止用户利用机器人自动注册、登录、灌水,现在的网站一般都采用了验证码技术,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。

php代码如下:
文件名: idcode.php
<?php
session_start();//开启会话
$img = imagecreatetruecolor(60, 30);//创建真彩图像资源,大小60*30
$black = imagecolorallocate($img, 0x00, 0x00, 0x00);//分配一个黑色
$green = imagecolorallocate($img, 0x00, 0xFF, 0x00);//分配一个绿色
$white = imagecolorallocate($img, 0xFF, 0xFF, 0xFF);//分配一个白色
imagefill($img,0,0,$white);// 从左上角开始填充白色,即背景颜色为白色
//生成随机的验证码
$code = '';
for($i = 0; $i < 4; $i++) {
$code .= rand(0, 9);
}
$_SESSION['vCode']=$code;//加入会话变量中
imagestring($img, 5, 8, 8, $code, $black);//imagestring ($image , $font , $x , $y ,$s ,$col )
//加入噪点干扰,阻止机器识别
for($i=0;$i<100;$i++) {
imagesetpixel($img, rand(0, 60) , rand(0, 30) , $black);//在图片上绘出一点。参数 x、y 为欲绘点的坐标,参数 col 表示该点的颜色
imagesetpixel($img, rand(0, 60) , rand(0, 30) , $green);//绘制绿色的点
}
//输出验证码
header("content-type: image/png");//说明欲输出的图片类型格式
imagepng($img);//函数用来建立一张 PNG 格式图形
imagedestroy($img);//销毁图像,释放与 $img 关联的内存
引入HTML中:
<img src="php/idcode.php" alt="">
最后效果如下:
关于“用PHP实现生成网站验证码的代码是什么”的内容今天就到这,感谢各位的阅读,大家可以动手实际看看,对大家加深理解更有帮助哦。如果想了解更多相关内容的文章,关注我们,群英网络小编每天都会为大家更新不同的知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在本篇文章里小编给大家整理的是一篇关于php去除deprecated的实例方法,有兴趣的朋友们可以跟着学习参考下。
PHP范围解析操作符的作用是什么?范围解析操作符就是双冒号::,一些PHP初学者可能见过范围解析操作符,但是还不了解其作用以及用法,对此,这篇文章就给大家简单介绍一下关于PHP范围解析操作符。
PHP的常量和变量不同在哪?有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
今天小编就为大家分享一篇关于laravel 子查询 & join的使用,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
PHP预定义接口――Iterator用法示例, 本文实例讲述了PHP预定义接口――Iterator用法。分享给大家供大家参考,具体如下:<br /> Iterator(迭代器)接口<br /> <br /> 可在内部迭代自己的外部迭代器或类的接口。<br /> <br /> 接口摘要
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008