php实现可运算的验证码


Posted in PHP onNovember 10, 2015

本文分享了php实现可运算的验证码的代码实例,希望对大家的学习有所帮助。

demo.php代码

<?php 
session_start(); 
if(!emptyempty($_POST['Login'])){ 
  if(md5(strtoupper($_POST['Login'])) == $_SESSION['Login']){ 
    echo 'Correct'; 
  }else{ 
    echo 'Error';   
  } 
} 
?> 
 
<form method="post"> 
  <input type="text" name="Login" value="" /><img src="img.php?Action=Login&imgW=80&imgH=30" align="absmiddle"> 
  <input type="submit" value="Login" /> 
</form>

img.php代码

<?php 
session_start(); 
 /** 
* 随机的数字,之和验证码 
* 修改日期 2006-12-20 
*/ 
function getCode ($length = 32, $mode = 0) 
{ 
switch ($mode) 
{ 
   case '1': 
     $str = '123456789'; 
      break; 
 case '2': 
      $str = 'abcdefghijklmnopqrstuvwxyz'; 
      break; 
 case '3': 
      $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; 
      break; 
 case '4': 
      $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; 
      break; 
 case '5': 
      $str = 'ABCDEFGHIJKLMNPQRSTUVWXYZ123456789'; 
      break; 
    case '6': 
      $str = 'abcdefghijklmnopqrstuvwxyz1234567890'; 
      break; 
    default: 
      $str = 'ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789'; 
      break; 
} 
 
$result = ''; 
$l = strlen($str)-1; 
for($i = 0;$i < $length;$i ++) 
{ 
 $num = rand(0, $l); 
 $result .= $str[$num]; 
} 
return $result; 
} 
//建立验证图片 
function createAuthNumImg($randStr,$imgW=100,$imgH=40,$fontName) 
{ 
header ("content-type: image/png"); 
$image = imagecreate($imgW , $imgH); 
$color_white = imagecolorallocate($image , 255 , 255 , 255); 
$color_gray = imagecolorallocate($image , 228 , 228 , 228); 
$color_black = imagecolorallocate($image , 255 , 102 , 204); 
for ($i = 0 ; $i < 1000 ; $i++) 
{ 
 imagesetpixel($image , mt_rand(0 , $imgW) , mt_rand(0 , $imgH) , $color_gray); 
} 
imagerectangle($image , 0 , 0 , $imgW - 1 , $imgH - 1 , $color_gray); 
for ($i=10;$i<$imgH;$i+=10) 
 imageline($image, 0, $i, $imgW, $i, $color_gray); 
imagettftext($image,16,5,3,25,$color_black,$fontName,$randStr); 
for ($i=10;$i<$imgW;$i+=10) 
 imageline($image, $i, 0, $i, $imgH, $color_gray); 
imagepng($image); 
imagedestroy($image); 
} 
 
$a=GetCode(1,1); 
$b=GetCode(1,1); 
$c=GetCode(1,1); 
$Passport=$a."+".$b."+".$c; 
$Total=$a+$b+$c; 
$Total; 
$_SESSION[$_GET['Action']]=md5(strtoupper($Total)); 
createAuthNumImg($Passport,$_GET['imgW'],$_GET['imgH'],"verdana.ttf"); 
?>

以上就是为大家介绍的php可运算的验证码全部代码,希望对大家的学习有所帮助。

PHP 相关文章推荐
文件上传的实现
Oct 09 PHP
php-accelerator网站加速PHP缓冲的方法
Jul 30 PHP
PHP中的str_repeat函数在JavaScript中的实现
Sep 16 PHP
PHP的文件操作与算法实现的面试题示例
Aug 10 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
PHP简单实现无限级分类的方法
May 13 PHP
php禁用函数设置及查看方法详解
Jul 25 PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
Mar 06 PHP
laravel异步监控定时调度器实例详解
Jun 21 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 PHP
PHP优化之批量操作MySQL实例分析
Apr 23 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
Nov 10 #PHP
深入理解PHP内核(二)之SAPI探究
Nov 10 #PHP
深入理解PHP内核(一)
Nov 10 #PHP
在PHP中使用FastCGI解析漏洞及修复方案
Nov 10 #PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
Nov 09 #PHP
再推荐十款免费的php开发工具
Nov 09 #PHP
php开发工具有哪五款
Nov 09 #PHP
You might like
PHP+AJAX实现无刷新注册(带用户名实时检测)
2006/12/02 PHP
服务器web工具 php环境下
2010/12/29 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
总结对比php中的多种序列化
2016/08/28 PHP
Laravel实现表单提交
2017/05/07 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
input 输入框内的输入事件详细分析
2010/03/17 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
JavaScript改变HTML元素的样式改变CSS及元素属性
2013/11/12 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
2014/12/31 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
AngularJs Understanding the Controller Component
2016/09/02 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
2017/04/28 jQuery
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
2020/02/10 Javascript
vue+springboot图片上传和显示的示例代码
2020/02/14 Javascript
python 字典有序并写入json文件过程解析
2019/09/30 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
linux比较文件内容的命令是什么
2015/09/23 面试题
会计主管岗位职责范文
2013/11/08 职场文书
自考生自我评价分享
2014/01/18 职场文书
企业晚会策划方案
2014/05/29 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
董事长岗位职责
2015/02/13 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
用人单位聘用意向书
2015/05/11 职场文书
粗暴解决CUDA out of memory的问题
2021/05/22 Python