session_start();

//设置: 你可以在这里修改验证码图片的参数

$image_width = 120;

$image_height = 40;

$characters_on_image = 6;

$font = ‘./monofont.ttf’;

//以下字符将用于验证码中的字符

//为了避免混淆去掉了数字1和字母i

$possible_letters = ‘23456789bcdfghjkmnpqrstvwxyz’;

$random_dots = 10;

$random_lines = 30;

$captcha_text_color=”0x142864″;

$captcha_noice_color = “0x142864”;

$code = ”;

$i = 0;

while ($i < $characters_on_image) {

$code .= substr($possible_letters, mt_rand(0, strlen($possible_letters)-1), 1);

$i++;

}

$font_size = $image_height * 0.75;

$image = @imagecreate($image_width, $image_height);

/* 设置背景、文本和干扰的噪点 */

$background_color = imagecolorallocate($image, 255, 255, 255);

$arr_text_color = hexrgb($captcha_text_color);

$text_color = imagecolorallocate($image, $arr_text_color[‘red’],

$arr_text_color[‘green’], $arr_text_color[‘blue’]);

$arr_noice_color = hexrgb($captcha_noice_color);

$image_noise_color = imagecolorallocate($image, $arr_noice_color[‘red’],

$arr_noice_color[‘green’], $arr_noice_color[‘blue’]);

/* 在背景上随机的生成干扰噪点 */

for( $i=0; $i

imagefilledellipse($image, mt_rand(0,$image_width),

mt_rand(0,$image_height), 2, 3, $image_noise_color);

}

/* 在背景图片上,随机生成线条 */

for( $i=0; $i

imageline($image, mt_rand(0,$image_width), mt_rand(0,$image_height),

mt_rand(0,$image_width), mt_rand(0,$image_height), $image_noise_color);

}

/* 生成一个文本框,然后在里面写生6个字符 */

$textbox = imagettfbbox($font_size, 0, $font, $code);

$x = ($image_width – $textbox[4])/2;

$y = ($image_height – $textbox[5])/2;

imagettftext($image, $font_size, 0, $x, $y, $text_color, $font , $code);

/* 将验证码图片在HTML页面上显示出来 */

header(‘Content-Type: image/jpeg’);

// 设定图片输出的类型

imagejpeg($image);

//显示图片

imagedestroy($image);

//销毁图片实例

$_SESSION[‘6_letters_code’] = $code;

function hexrgb ($hexstr) {

$int = hexdec($hexstr);

return array( “red” => 0xFF & ($int >> 0x10),

“green” => 0xFF & ($int >> 0x8),

“blue” => 0xFF & $int

);

}

?>

验证码

ajax实现php验证码验证码,PHP验证码之Ajax验证实现方法_PHP教程相关推荐

  1. 利用Ajax实现输入完验证码之后直接判断验证码是否正确

    生成验证码的Servlet: package com.muke; //生成验证码: import java.awt.Color; import java.awt.Graphics; import ja ...

  2. ajas php 验证码_thinkPHP3.2.3利用Ajax前台实现验证码验证,但通过form表单的按钮提交后,验证码一直错误!如何解决?...

    展开全部 我用的方法是判断$_session里的验证码值是否与post提交的验证码值是否相等,经过测试没有问636f707962616964757a686964616f31333363396432题, ...

  3. tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片...

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...

  4. 手机验证码、图片验证码的实现

    手机验证码 第一步:网上找一个第三方短信接口平台,大多数这样的平台都会有免费试用的通知短信.我这里用的是秒滴科技,注册个账号,赠送200条短信,足够项目练手使用了. 第二步:去用户中心查看TOKEN( ...

  5. java调接口实现发送手机短信验证码功能,手机验证码,接口调用

    原文地址:  http://blog.csdn.net/sxdtzhaoxinguo/article/details/34437591 近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用 ...

  6. 控制器制作简单验证码和汉字验证码

    @Controller @RequestMapping("imageCode") public class ImageCodeController {Color getRandCo ...

  7. 图形验证码+短信验证码【Java应用实例】

    一.图形验证码的实现 1.1 简介 常在网上晃悠的人,对下面这张图都不会陌生.特别是在注册新账号.确认交易时,它们都会频繁出现,要求我们输入正确的验证码,那这些看上去跟我们要做的事情完全无关的验证码到 ...

  8. php注册邮箱验证码,thinkphp邮箱验证码前后台

    思路: 前台用jquery.validate验证,验证邮箱是否存在等等,交互用ajax来做.后端用邮箱类库直接上代码吧 准备: 1.下载PHPMailer类库,放到Application/Thinkp ...

  9. ssm框架下手机验证码、图片验证码的实现

    手机验证码 第一步:网上找一个第三方短信接口平台,大多数这样的平台都会有免费试用的通知短信.我这里用的是秒滴科技,注册个账号,赠送200条短信,足够项目练手使用了. 第二步:去用户中心查看TOKEN( ...

最新文章

  1. 立足自主可控 斩获财政局虚拟化大单
  2. 密码嗅探工具dsniff
  3. docker 开机自启动
  4. 柴天佑pdf 自适应控制_串讲:控制理论:自适应控制(APC)
  5. mysql系统的功能_MySQL系统架构及功能概述
  6. tomcat 和apache的整合的方法及配置(一)
  7. c++ standard library_什么是C/C++的标准库?
  8. jQuery动态设置输出窗口的高度
  9. Java面向对象(2) —— 继承
  10. 神经网络模型遇到瓶颈?这些Tricks让你相见恨晚!
  11. shp设置utf8格式_shapefile与字符集编码设置
  12. 用java的socket来发送一个类
  13. 150+ Web 2.0 工具和相关资源
  14. 计算机职业素养结尾,IT职业素养读后感
  15. 桌面计算机图标变黑块,win7桌面图标变成有黑色方块怎么办?4个步骤轻松搞定...
  16. 机器学习中各分类算法的优缺点比较
  17. mysql repaire_mysql 修复表
  18. 34岁华为员工跳槽央企,晒出年薪和工作时间,网友:羡慕了
  19. 数据安全生命周期管理介绍(一)
  20. ipad查看本地文件html文件,ipad如何观看本地视频 怎么用iPad观看电脑上的影片

热门文章

  1. POJ1325二分匹配或者DINIC(最小路径覆盖)
  2. POJ3277 线段树段更新,点询问+二分离散化+暴力
  3. 信息存储 整数表示 原码 反码 补码 无符号数 有符号数 转换 扩展 截断
  4. 【五线谱】五线谱的线与间 ( 五线谱中的 第N线与第N间 | 五线谱上的 上加N线与上加N间 | 五线谱下的 下加N线与下加N间 | 高音谱号下加一线 等同于 低音谱号上加一线 )
  5. 【Android 逆向】Android 逆向通用工具开发 ( adb forward 网络端口重定向命令 | PC 端逆向程序主函数分析 )
  6. 【设计模式】中介者模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
  7. 我的 Serverless 实战 — Serverless 架构理念 ( 后端服务器发展 | Serverless 与 ServerFul | Serverless 定义 | 架构优缺点 )
  8. 【计算理论】计算复杂性 ( 多项式等价引入 | 多项式时间规约 )
  9. zabbix服务器性能监控工具的安装二
  10. 二叉树的概念、算法简介及树的平衡