ITPub博客

首页 > IT职业 > IT生活 > 十二章 php简单验证码

十二章 php简单验证码

IT生活 作者:doudourabbit 时间:2021-09-09 09:03:09 0 删除 编辑

session_start();
//在页首先要开启session,
//error_reporting(2047);
session_destroy();
//将session去掉,以每次都能取新的session值;
//用seesion 效果不错,也很方便
?>


session 图片验证实例
login p{

margin-top: 15px;
line-height: 20px;
font-size: 14px;
font-weight: bold;
}

login img{

cursor:pointer;
}
form{
margin-left:20px;
}



此例为session验证实例



验证码:

图片描述






//打印上一个session;
//echo "上一个session:".$_SESSION["authnum_session"]."
";
$validate="";
if(isset($_POST["validate"])){
$validate=$_POST["validate"];
echo "您刚才输入的是:".$_POST["validate"]."
状态:";
echo "您刚才:".$_SESSION["verification"]."
状态:";
if($validate!=$_SESSION["verification"]){
//判断session值与用户输入的验证码是否一致;
echo "输入有误";
}else{
echo "通过验证";
}
}
?>

captcha.php
session_start();
function random($len) {
$srcstr = "1a2s3d4f5g6hj8k9qwertyupzxcvbnm";
mt_srand();
$strs = "";
for ($i = 0; $i $strs .= $srcstr[mt_rand(0, 30)];
}
return $strs;
}
//随机生成的字符串
$str = random(4);
//验证码图片的宽度
$width = 50;
//验证码图片的高度
$height = 25;
//声明需要创建的图层的图片格式
@ header("Content-Type:image/png");
//创建一个图层
$im = imagecreate($width, $height);
//背景色
$back = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
//模糊点颜色
$pix = imagecolorallocate($im, 187, 230, 247);
//字体色
$font = imagecolorallocate($im, 0, 0, 0);
//绘模糊作用的点
mt_srand();
for ($i = 0; $i imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pix);
}
//输出字符
imagestring($im, 5, 7, 5, $str, $font);
//输出矩形
imagerectangle($im, 0, 0, $width -1, $height -1, $font);
//输出图片
imagepng($im);
imagedestroy($im);
//$str = md5($str);
//选择 cookie
//SetCookie("verification", $str, time() + 7200, "/");
//选择 Session
$_SESSION["verification"] = $str;
?>

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4809/viewspace-2798950/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-25

  • 博文量
    193
  • 访问量
    1436