首页 > 代码库 > PHP之路——验证码实现
PHP之路——验证码实现
验证码生成并保存到session
<?php //开始session session_start(); //画布大小 $image = imagecreate(100, 40); $color = imagecolorallocate($image, 255, 255, 255); // imagefill($image,0, 0, $color); //创建验证码 $code = ‘‘; for($i=0;$i<4;$i++){ $fontsize = 9; $fontcolor = imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120)); $x = $i * 25 + 10; $y = rand(5,10); $num = (string)rand(0,9); $code .= $num; imagestring($image, $fontsize, $x, $y, $num, $fontcolor); } //验证码记录到session $_SESSION[‘code‘] = $code; //增加干扰元素点 for ($i=0; $i <800 ; $i++) { $color = imagecolorallocate($image, rand(50,200), rand(50,200), rand(50,200)); imagesetpixel($image, rand(0,100), rand(0,40), $color); } //增加干扰线 for ($i=0; $i <5 ; $i++) { $color = imagecolorallocate($image, rand(50,200), rand(50,200), rand(50,200)); imageline($image, rand(10,180), rand(10,180), rand(10,180), rand(10,180), $color); } //说明这个是一个图片 header("content-type:image/png"); //输出到浏览器 imagepng($image); //关闭 imagedestroy($image);
html文件
<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title></head><body><div><img src="http://www.mamicode.com/yzimg.php" width="100" height="40" id="yzimg" onclick="huan()"></div><div><input type="text" id="yzm"></input></div><button id="btn">提交</button><script type="text/javascript" src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script><script type="text/javascript"> function huan(){ var num = Math.random() * 10; document.getElementById(‘yzimg‘).src = http://www.mamicode.com/‘yzimg.php?r=‘ + num;>
验证验证码文件
<?php //必须开启session session_start(); if ($_POST[‘yzm‘] != $_SESSION[‘code‘]) { # code... echo 1; } else { echo 0; } ?>
PHP之路——验证码实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。