首页 > 后端开发 > 正文

php框架yaf验证码 php如何做验证码

2023-09-24 14:52:48 | 我爱编程网

我爱编程网小编给大家带来了php框架yaf验证码 php如何做验证码相关文章,一起来看一下吧。

php框架yaf验证码 php如何做验证码

怎么样能够让php生成4位数字验证码

PHP生成验证码的原理:使用PHP的GD库,生成一张带验证码的图片,并将验证码保存在Session中。PHP生成验证码的大致流程有: 1、产生一张png的图片; 2、为图片设置背景色; 3、设置字体颜色和样式; 4、产生4位数的随机的验证码; 5、把产生的每...

php框架yaf验证码 php如何做验证码

php如何做验证码


php验证码制作是对php基本功的考核,php验证码制作必需开启gd库,因为要用到gd库里面的不少函数

据php中的GD库对图片进行处理,绘制出验证码的图片,code.php中
表单界面,简单的session保存及与用户输入对比,确定是否验证正确,form.php中(推荐学习:PHP编程从入门到精通)
<?php
session_start();//必须位于脚本的最顶端
$image=imagecreatetruecolor(100, 30);//imagecreatetruecolor函数建一个真彩色图像
//生成彩色像素
$bgcolor=imagecolorallocate($image, 255, 255, 255);//白色背景 imagecolorallocate函数为一幅图像分配颜色
$textcolor=imagecolorallocate($image,0,0,255);//蓝色文本
//填充函数,xy确定坐标,color颜色执行区域填充颜色
imagefill($image, 0, 0, $bgcolor);
$captch_code="";//初始空值
//该循环,循环取数
for($i=0;$i<4;$i++){
$fontsize=6;
$x=($i*25)+rand(5,10);
$y=rand(5,10);//位置随机
// $fontcontent=$i>2?chr(rand(97,122)):chr(rand(65,90));//是小写,否则是大写
$data='abcdefghijkmnpqrstuvwxyz3456789';
$fontcontent=substr($data,rand(0,strlen($data)-1),1);//strlen仅仅是一个计数器的工作 含数字和字母的验证码
//可以理解为数组长度0到30
$fontcolor=imagecolorallocate($image,rand(0,100),rand(0,100),rand(0,100));//随机的rgb()值可以自己定
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor); //水平地画一行字符串
$captch_code.=$fontcontent;
}
$_SESSION['authcode']=$captch_code;//将变量保存再session的authcode变量中

//该循环,循环画背景干扰的点
for($m=0;$m<=600;$m++){
$x2=rand(1,99);
$y2=rand(1,99);
$pointcolor=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($image,$x2,$y2,$pointcolor);// 水平地画一串像素点
}
//该循环,循环画干扰直线
for ($i=0;$i<=10;$i++){
$x1=rand(0,99);
$y1=rand(0,99);
$x2=rand(0,99);
$y2=rand(0,99);
$linecolor=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));
imageline($image,$x1,$y1,$x2,$y2,$linecolor);//画一条线段

}
header('content-type:image/png');
imagepng($image);
//销毁
imagedestroy($image);
?>代码:
<?php
// session 存值并匹配用户输入值
if (isset($_REQUEST['authcode'])) {
session_start();
if (strtolower($_REQUEST['authcode'])==$_SESSION['authcode']) {//strtolower转化为小写的函数
echo"输入正确!";
# code...
}
else{
echo"输入错误!";
}
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<!-- 简单的表单提交代码 -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>简单验证码的实现</title>
</head>
<body>
<form method="post" action="./form.php">
<p>验证码图片:<img src="code.php" onClick="this.src='code.php?nocache='+Math.random()" alt="点击换一张"/>点击图片可更换验证码</p>
<p>请输入图片中的内容:<input type="text" name="authcode" value=""/></p>
<p><input type="submit" width="20px" height=19px value="提交"></input></p>
</form>

</body>
</html>

php框架yaf验证码 php如何做验证码我爱编程网

怎样制作PHP验证码

<?php
//验证码:文本类型为图像
header("content-type:image/png");
define('TYPE',3);//1.字母 2.字母数字 3.数字 4.逻辑 5.汉字
session_start();
//创建画布
$img = imagecreatetruecolor(90,33);
//创建颜色
//$bgcolor = imagecolorallocate($img,rand(200,255),rand(200,255),rand(200,255));
$bgcolor = imagecolorallocate($img,255,255,255);
$textcolor = imagecolorallocate($img,rand(0,100),rand(0,100),rand(0,100));
//填充颜色到画布
imagefill($img,0,0,$bgcolor);
//创建但像素的点为干扰项
//for($i=0;$i<100;$i++){
// $pixelcolor = imagecolorallocate($img,rand(150,200),rand(150,200),rand(150,200));
// imagesetpixel($img,rand(0,70),rand(0,30),$pixelcolor);
//}
//
////划线
//$linecolor = imagecolorallocate($img,255,0,0);
//imageline($img,0,0,70,30,$linecolor);
//
////多边形
// $col_poly = imagecolorallocate ( $img , 0 , 255 , 0 );
// imagepolygon ( $img ,
// array (
// 5 , 5,
// 5, 15 ,
// 20,15,
// 20,5
// ),
// 4 ,
// $col_poly );
////弧线
//$arcColor = imagecolorallocate ( $img , 0 , 0 , 255 );
//imagearc($img,35,15,30,30,0,360,$arcColor);

//创建验证码的内容
//#字母
$letter = range('A','Z');
$letterStr = $letter[rand(0,25)].$letter[rand(0,25)].$letter[rand(0,25)].$letter[rand(0,25)];
//数字字母
$num = range(0,9);
$numberAndLetter = array_merge($letter,$num);
$nal = $numberAndLetter[rand(0,35)].$numberAndLetter[rand(0,35)].$numberAndLetter[rand(0,35)].$numberAndLetter[rand(0,35)];
//#数字
$number = rand(1000,9999);
//#逻辑
$x = rand(1,9);
$y = rand(1,9);
$expression = $x."+".$y."=?";
$sum = $x+$y;
//#汉字
$CH = array('恭喜发财','财源滚滚','财源广进','才高八斗','学富五车','抬头见喜');
$chstr = $CH[rand(0,count($CH)-1)];
switch(TYPE){
case 1 : imagettftext($img,14,0,7,23,$textcolor,'MSYH.TTF',$letterStr);$_SESSION['code']=$letterStr;break;
case 2 : imagettftext($img,14,0,7,23,$textcolor,'MSYH.TTF',$nal);$_SESSION['code']=$nal;break;
case 3 : imagettftext($img,14,0,13,23,$textcolor,'MSYH.TTF',$number);$_SESSION['code']=$number;break;
case 4 : imagettftext($img,14,0,7,23,$textcolor,'MSYH.TTF',$expression);$_SESSION['code']=$sum;break;
case 5 : imagettftext($img,11,0,6,21,$textcolor,'MSYHBD.TTF',$chstr);$_SESSION['code']=$chstr;break;
}
//输入图像到浏览器
imagepng($img);
?>

以上就是我爱编程网小编给大家带来的php框架yaf验证码 php如何做验证码,希望能对大家有所帮助。
与“php框架yaf验证码 php如何做验证码”相关推荐
php验证码框架 如何用PHP生成验证码
php验证码框架 如何用PHP生成验证码

使用thinkPHP3.2.3框架调用验证码不显示应该怎么解决缺少src="{:U('Admin/Index/show')}"设置'URL_ROUTER_ON'=&gt;true,阻止submit提交行为、用js设置了e.preventDefault();可还会提交上去。&lt;formonsubmit="returnfalse"id="form"&gt;或者用JS绑定ons

2023-09-18 17:03:16
php框架验证码上传 如何用PHP生成验证码
php框架验证码上传 如何用PHP生成验证码

thinkphp中验证码,本地测试验证码显示,上传到服务器就不显示了,是什么问题这个问题建议你查询一下PHP带的GD库有没有打开,Windows的话看下dll那块,Apache的看下mod那块,如果有这个dll或者so,去php.ini里面看下gd相关的dll或者so有没有被启用就好了,关了就开起来,如果开起来还是没有好,那我建议你修改验证码方案,使用类似极验验证的解决方案,他是外置的,我之

2023-09-25 17:00:17
php框架下验证码登录 php如何写注册登录验证码
php框架下验证码登录 php如何写注册登录验证码

PHP中模拟登录的验证码问题应该如何解决基本思路:首先获取一个cookies值,再带着这个cookies去获取验证码图片,你再带着验证码值和登录数据去模拟post登录。下面是一个模拟获取验证码的。这里忽略获取cookies的过程。注意文件为UTF-8无BOM格式?phpheader('Content-Type:image/png');$url = "";//图片链接$ch

2023-10-05 02:56:26
php框架验证码出现错误 如何解决thinkphp5中验证码常见问题
php框架验证码出现错误 如何解决thinkphp5中验证码常见问题

thinkPHP3.2.3利用Ajax前台实现验证码验证,但通过form表单的按钮提交后,验证码一直错误!如何解决?验证码一直错误那就是:后台生成的和前台显示的不是同一个验证码,你可以把后台生成的打印出来测试一下。1:验证码生成代码://输入验证码functionverifyimg(){//验证码做配置$config= array('seKey'=&gt;'Thin

2023-10-05 11:07:17
php框架中怎么引用验证码 php 验证码 使用
php框架中怎么引用验证码 php 验证码 使用

php验证码使用你访问 你地址/上述程序的文件名.php?action=verifycode这样就可以看到图片了,同理插入到登录框用&lt;img src="你地址/上述程序的文件名.php?action=verifycode"/&gt;就可以了-------------------------leboc代码你都没看懂,$_GET["action"]=="ve

2023-10-06 13:10:50
php框架的验证码在哪里 thinkphp 验证码怎么调用
php框架的验证码在哪里 thinkphp 验证码怎么调用

thinkphp验证码怎么调用一、首先需要在控制器中加入验证码方法admin/Lib/Action/LoginAction.class.php知识点:1、ob_clean函数用途2、import方法调用think默认类库3、Image类buildImageVerify方法使用代码如下:.代码如下:Publicfunctionverify(){ob_clean

2023-10-06 23:53:13
php框架验证码 php实现手机验证码验证注册功能的逻辑是怎样的?
php框架验证码 php实现手机验证码验证注册功能的逻辑是怎样的?

如何解决thinkphp5中验证码常见问题在项目目录下面生成captcha扩展(需要安装composer来安装)composerrequiretopthink/think-captcha2安装完成之后会呈现如上的目录。captcha扩展安装完成之后,就可以进行下一步操作配置comfig.php文件:在comfig.php下面加个扩展//验证码

2023-09-16 15:11:04
php框架验证 急急急!!!thinkphp3.22 框架 验证码检验始终是false
php框架验证 急急急!!!thinkphp3.22 框架 验证码检验始终是false

使用thinkPHP3.2.3框架调用验证码不显示应该怎么解决缺少src="{:U('Admin/Index/show')}"设置'URL_ROUTER_ON'=&gt;true,阻止submit提交行为、用js设置了e.preventDefault();可还会提交上去。&lt;formonsubmit="returnfalse"id="form"&gt;或者用JS绑定ons

2023-09-02 09:40:11