php实现网页端验证码功能
发布时间 - 2026-01-11 02:17:35 点击率:次我们在实际开发中,会用到短信验证码以及网页验证码,相对来说网页验证码的成本比较低,安全系数也还可以,接下来我们就来做一个网页端的验证码,直接上代码:

首先来说一下文件目录结构:
|----------phpyanzheng 项目文件夹
|----fonttype 文件夹放字体文件,字体文件一般以 .ttf和.otf结尾
|----1.php 里面放php语言代码
|----index.html 里面放网页布局
1.php
<?php
header('content-type:image/jpeg');//定义一下代码以jpeg文件来解析
$width = 120;//定义了图像的宽
$height = 40;//定义了图像的高
$element = array('q','w','e','r','t','y','u','i','o','p','l','k','j','h','g','f','d','s','a','z','x',
'c','v','b','n','m','1','2','3','4','5','6','7','8','9','0','Q','W','E','R','T','Y','U','I','O','P','A'
,'S','D','F','G','H','J','K','L','M','N','B','V','C','X','Z');//定义一个显示文本的数组
$string = '';
for($i=0;$i<4;$i++){
$string.=$element[rand(0,count($element)-1)];//随机产生四个文本目标
}
$img = imagecreatetruecolor($width, $height);//设置验证区宽高
$colorBg = imagecolorallocate($img,rand(185,255),rand(185,255),rand(185,255));//产生200-255的随机数
$colorBorder = imagecolorallocate($img,rand(50,100),rand(50,100),rand(50,100));//边框颜色
$colorDian = imagecolorallocate($img,rand(0,100),rand(0,100),rand(0,100));//背景小点的颜色
$colorLine = imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));
$colorString = imagecolorallocate($img,rand(20,80),rand(20,80),rand(20,80));
imagefill($img, 0, 0, $colorBg);//设置位置和背景颜色
imagerectangle($img,0,0,$width-1,$height-1,$colorBorder);//画一个边框
for($i=0;$i<200;$i++){//循环出200个干扰点
imagesetpixel($img, rand(0, $width-1), rand(0, $height-1), $colorDian);
}
for($i=0;$i<round(5);$i++){//循环出5条干扰线
imageline($img,rand(0,$width/2),rand(0,$height/2),rand($width/2,$width),rand($height/2,$height),$colorLine);
}
//imagestring($img, 4, 0, 0,'a5dg', $colorString);
imagettftext($img,25,rand(5, 15),rand(0,40),39,$colorString,'fonttype/PrincetownStd.otf',$string);
// 图像名称 字体大小 倾斜角度 起始位置X轴 起始位置Y轴 颜色 字体位置 显示的内容
imagejpeg($img);//输出图像
?>
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>孙三峰--验证码</title>
<script type="text/javascript" src="js/jquery-1.1.0.js" ></script>
</head>
<body>
<!--注意:原文中对应的ip地址是自己电脑端ip,如果不能正常运行,请修改ip-->
<p>
<label class="lbright">验证码:</label>
<span>
<input type="text" name="validcode" style="width:70px; vertical-align:middle;" id="validcode"/>
<img id="codePic" src="http://192.168.1.113:8601/PHP/phpyanzheng/1.php" width="120" height="40"/>
</span>
<span id="codePic" onclick="getPic();">看不清楚,换一张</span> <!---->
</p>
</body>
<script type="text/javascript">
function getPic(){
$("#codePic").attr("src","http://192.168.1.113:8601/PHP/phpyanzheng/1.php?flag="+Math.random()); <!--局部刷新-->
};
</script>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# php
# 验证码
# 一个实用的php验证码类
# php图像验证码生成代码
# PHP写的简单数字验证码实例
# 一个漂亮的php验证码类(分享)
# php图片验证码代码
# PHP生成图片验证码、点击切换实例
# php发送短信验证码完成注册功能
# PHP验证码类代码( 最新修改
# 完全定制化! )
# 完美解决thinkphp验证码出错无法显示的方法
# PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
# 随机数
# 安全系数
# 做一个
# 较低
# 就来
# 看不
# 也还
# 正常运行
# 大家多多
# 画一
# 在实际
# rand
# string
# array
# imagecreatetruecolor
# img
# count
# width
# jpeg
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
网站页面设计需要考虑到这些问题
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
怎样使用JSON进行数据交换_它有什么限制
历史网站制作软件,华为如何找回被删除的网站?
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
微信h5制作网站有哪些,免费微信H5页面制作工具?
如何在万网ECS上快速搭建专属网站?
如何安全更换建站之星模板并保留数据?
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
Laravel如何使用Vite进行前端资源打包?(配置示例)
Laravel如何实现文件上传和存储?(本地与S3配置)
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
Python并发异常传播_错误处理解析【教程】
太平洋网站制作公司,网络用语太平洋是什么意思?
如何快速生成可下载的建站源码工具?
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
油猴 教程,油猴搜脚本为什么会网页无法显示?
PHP正则匹配日期和时间(时间戳转换)的实例代码
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
教学论文网站制作软件有哪些,写论文用什么软件
?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
如何获取上海专业网站定制建站电话?
Laravel如何实现多对多模型关联?(Eloquent教程)
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
Python文本处理实践_日志清洗解析【指导】
如何在阿里云服务器自主搭建网站?
Laravel如何使用Telescope进行调试?(安装和使用教程)
网页设计与网站制作内容,怎样注册网站?
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
php485函数参数是什么意思_php485各参数详细说明【介绍】
简历在线制作网站免费版,如何创建个人简历?
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
Laravel如何升级到最新版本?(升级指南和步骤)
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
,网页ppt怎么弄成自己的ppt?
如何基于云服务器快速搭建网站及云盘系统?
北京网站制作的公司有哪些,北京白云观官方网站?
如何在搬瓦工VPS快速搭建网站?
Laravel storage目录权限问题_Laravel文件写入权限设置
北京企业网站设计制作公司,北京铁路集团官方网站?
怎么用AI帮你为初创公司进行市场定位分析?

