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 相关文章推荐
如何使用脚本模仿登陆过程
Nov 22 PHP
笑谈配置,使用Smarty技术
Jan 04 PHP
在PHP上显示JFreechart画的统计图方法
Nov 03 PHP
使用配置类定义Codeigniter全局变量
Jun 12 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
php接口数据加密、解密、验证签名
Mar 12 PHP
php使用Imagick生成图片的方法
Jul 31 PHP
详解WordPress开发中wp_title()函数的用法
Jan 07 PHP
关于PHP中协程和阻塞的一些理解与思考
Aug 11 PHP
PHP+原生态ajax实现的省市联动功能详解
Aug 15 PHP
php和html的区别点详细总结
Sep 24 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
May 29 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遍历数组的几种方法
2012/03/22 PHP
PHP实现模仿socket请求返回页面的方法
2014/11/04 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
PHP全局变量与超级全局变量区别分析
2016/04/01 PHP
PHP中cookie知识点学习
2018/05/06 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
javascript中parseInt()函数的定义和用法分析
2014/12/20 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
js实现一键复制功能
2017/03/16 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
vue和react等项目中更简单的实现展开收起更多等效果示例
2018/02/22 Javascript
JS实现获取数组中最大值或最小值功能示例
2019/03/02 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
JavaScript中数组去重的5种方法
2020/07/04 Javascript
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
在python中用print()输出多个格式化参数的方法
2019/07/16 Python
django数据库自动重连的方法实例
2019/07/21 Python
django 装饰器 检测登录状态操作
2020/07/02 Python
Python操作Word批量生成合同的实现示例
2020/08/28 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
网络事业创业计划书范文
2014/01/09 职场文书
一年级语文教学反思
2014/02/13 职场文书
小学运动会报道稿
2014/10/04 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书
靠谱准确的求职信
2019/04/02 职场文书
创业计划书之闲置物品置换中心
2019/12/25 职场文书
详解前端任务构建利器Gulp.js使用指南
2021/04/30 Javascript
threejs太阳光与阴影效果实例代码
2022/04/05 Javascript
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android