用PHP实现生成网站验证码的代码是什么
Admin 2022-09-17 群英技术资讯 1985 次浏览
这篇文章主要介绍了“用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实现多张上传图片功能的,文中通过示例代码介绍的非常详细,对大家的学习PHP具有一定的帮助,需要的可以参考一下
for(PHP4,PHP5)for 循环是PHP中最复杂的循环结构。它的行为和C语言的相似。 for 循环的语法是:for(expr1;expr2;expr3)statement 第一个...
在laravel中,门面是为应用服务容器中的绑定类提供的一个“静态”接口。维护时能够提供更加易于测试、更加灵活、简明优雅的语法,所有的门面都定义在“Illuminate\Support\Facades”命名空间下。
本篇文章主要带大家了解PHP和Python是如何进行数据交互的,有需要的朋友可以随时来查看阅读,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
对PHP熟悉的朋友应该了解PHP7的性能提升很大,那么究竟为什么PHP7的性能可以提高这么多?本文就和大家一起来分析一下php7性能提升的原因有哪些,感兴趣的朋友就继续往下看吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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