验证码生成代码范例

 在网站的登陆和注册的时候,经常会用到验证码来防止别人用机械暴力注册或登陆,加上验证码这样一定程度上让网站安全很多,下面是一个比较简单的验证码生成,同时给session赋值。

  <?php

  session_start();

  header(“Content-type: image/png”);

  http://www.douban.com/note/452296816/

  //创建真彩色白纸

  $im = @imagecreatetruecolor(50, 20) or die(“建立图像失败”);

  //获取背景颜色

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

  //填充背景颜色(这个东西类似油桶)

  imagefill($im,0,0,$background_color);

  //获取边框颜色

  $border_color = imagecolorallocate($im,200,200,200);

  //画矩形,边框颜色200,200,200

  imagerectangle($im,0,0,49,19,$border_color);

  //逐行炫耀背景,全屏用1或0

  for($i=2;$i<18;$i++){

  //获取随机淡色

  $line_color = imagecolorallocate($im,rand(200,255),rand(200,255),rand(200,255));

  //画线

  imageline($im,2,$i,47,$i,$line_color);

  }

  http://www.douban.com/note/452295997/

  //设置字体大小

  $font_size=12;

  //设置印上去的文字

  $Str[0] = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”;

  $Str[1] = “abcdefghijklmnopqrstuvwxyz”;

  $Str[2] = “01234567891234567890123456”;

  //获取第1个随机文字

  $imstr[0]["s"] = $Str[rand(0,2)][rand(0,25)];

  $imstr[0]["x"] = rand(2,5);

  $imstr[0]["y"] = rand(1,4);

  //获取第2个随机文字

  $imstr[1]["s"] = $Str[rand(0,2)][rand(0,25)];

  $imstr[1]["x"] = $imstr[0]["x"]+$font_size-1+rand(0,1);

  $imstr[1]["y"] = rand(1,3);

  //获取第3个随机文字

  $imstr[2]["s"] = $Str[rand(0,2)][rand(0,25)];

  $imstr[2]["x"] = $imstr[1]["x"]+$font_size-1+rand(0,1);

  $imstr[2]["y"] = rand(1,4);

  //获取第4个随机文字

  $imstr[3]["s"] = $Str[rand(0,2)][rand(0,25)];

  $imstr[3]["x"] = $imstr[2]["x"]+$font_size-1+rand(0,1);

  $imstr[3]["y"] = rand(1,3);

  //将显示的数组赋值给session

  $_SESSION[‘CODE‘] = $imstr[0]["s"].$imstr[1]["s"].$imstr[2]["s"].$imstr[3]["s"];

  //写入随机字串

  for($i=0;$i<4;$i++){

  $text_color = imagecolorallocate($im,rand(50,180),rand(50,180),rand(50,180));

  imagechar($im,$font_size,$imstr[$i]["x"],$imstr[$i]["y"],$imstr[$i]["s"],$text_color);

  http://home.babytree.com/u1696224844/journal/show/13095254

  }

  //显示图片

  imagepng($im);

  //销毁图片

  imagedestroy($im);

  ?>

时间: 2024-10-27 07:17:41

验证码生成代码范例的相关文章

随机验证码生成代码 (转)

随机验证码生成代码 package com.zuidaima.core.util; import java.util.Random; public class RandomUtil { public static final String ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static final String LETTERCHAR = "abc

验证码识别与生成类API调用的代码示例合集:六位图片验证码生成、四位图片验证码生成、简单验证码识别等

以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 六位图片验证码生成:包括纯数字.小写字母.大写字母.大小写混合.数字+小写.数字+大写.数字+大小写等情况. 四位图片验证码生成:包括纯数字.小写字母.大写字母.大小写混合.数字+小写.数字+大写.数字+大小写等情况. 简单验证码识别:验证码类型 : 数字+字母, 纯英文, 纯数字,计算题 英数_验证码识别:纯数字,纯英文,数字+英文 中英数_验证码识别:英文.数

asp.net验证码[生成与刷新]防止恶意注册图文并茂包括

欢迎光临博客; 首先我们来分析一下验证码的实现方式; 首先验证码是一个图片包含随机生成的文字,我们可以使用一个页面, 通过程序绘制页面上的内容和干扰像素(噪点),然后状态保持方式, 比对页面上比用户输入的内容和刚刚生成的内容, 这样可以到到验证码的效果. 具体在asp.net做法如下 验证码以.dll结尾 1.首先我们可以在"工具箱"新建一个选项卡来放"验证码控件" 2.比如新建一个验证码选项卡 3.将验证码控件"可以自行下载也可在","

Web---图片验证码生成教程详解-从简单到复杂-从本地到前后台

首先,我们先来看本地如何生成图片验证码的,再来写输出到网页的验证码如何实现. 先来看最简单的-实现的功能是,将一个字符串变成图片写入到文件中 实现代码: package cn.hncu.img; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOE

随机验证码生成(python实现)

需求:生成随机不重复验证码. 代码: #!/usr/bin/env python # encoding: utf-8 """ @author: 侠之大者kamil @file: 200number.py @time: 2016/4/13 23:33 """ import random,string def rand_str(num,length = 7): f = open("Activation_code2.txt",&qu

最准确的单点登录SSO图示和讲解(有代码范例)|手把手教做单点登录(SSO)系列之二

写第一篇博客<手把手教做单点登录(SSO)系列之一:概述与示例>,就获得了园子里朋友们热情的评论和推荐,感谢各位. 我那篇文章同时发了CSDN和博客园.对比一下,更感受到博客园童鞋们的技术交流热情:这篇文章在CSDN也有几百阅读量了,但评论区还静悄悄的.博客园才几天就有四十多个回复.二十多位童鞋推荐了. 深受鼓舞,周末没出门,熬了两个夜打磨图示.整理代码,给大家奉上本文. 完整的代码范例已完成,因和本文时序图严格对照,注释整理还需要一些工作,完成后将在下一篇放出.大家下载配置后,本地跑起来会是

单点登录SSO图示和讲解(有代码范例)转帖

完整的代码范例已完成,因和本文时序图严格对照,注释整理还需要一些工作,完成后将在下一篇放出.大家下载配置后,本地跑起来会是图一动画所示的运行效果,敬请期待. 敢说最准确,因为: 我严格对照所画时序图的每个步骤,开发了完整的跨域单点登录范例: 时序图绘出的所有服务端步骤,都在代码中逐一标注对应,跟踪调试代码就能两相对照,深入理解流程: 跨域Web SSO的核心在于写cookie.URL传参策略.其参与对象多.逻辑分支繁杂也难倒很多人.所见的其它教程图示往往对cookie和传参语焉不详,让人初看简单

thinkphp3.2 验证码生成和点击刷新验证码

背景:之前说的自己做的项目,偷懒登录模块没加验证码,想了想还是加上,找了下tp的文档,发现是有整合进去的,特记录下. 一.实例化生成验证码的类(该方法放到IndexController里面便于访问) [php] view plaincopy /**   *    * 验证码生成   */   public function verify_c(){       $Verify = new \Think\Verify();       $Verify->fontSize = 18;       $V

GOOGLE kaptcha 验证码生成插件 servlet/jsp项目中使用步骤

步骤一: 在项目中添加kaptchar的jar包,下载地址:http://code.google.com/p/kaptcha/(建议使用迅雷下载) 步骤二: 配置web.xml,详细配置如下(这里不是所有的配置,这里的参数还有很多可以酌情精简): <!-- 配置验证码插件servlet类 --> <servlet> <servlet-name>kaptcha</servlet-name> <servlet-class> com.google.co