php网站验证码的生成

<?php
   header("Content-type:text/html;charset=utf-8");
   header("Content-type:image/png");
   $num=4;
   $str=getCode($num,2);//获取随机数
   $width=$num*20;
   $height=30;
   $im=imagecreatetruecolor($width,$height);//创建一个画布
   $color[]=imagecolorallocate($im,34,52,210);
   $color[]=imagecolorallocate($im,235,10,54);
   $color[]=imagecolorallocate($im,255,255,64);
   $color[]=imagecolorallocate($im,111,230,89);
   $color[]=imagecolorallocate($im,225,0,113);
   $bg=imagecolorallocate($im,240,240,240);
   //开始绘图
   imagefill($im,0,0,$bg);
   imagerectangle($im,0,0,$width-1,$height-1,$color);

   //添加随机干扰点
   for($i=0;$i<200;$i++)
   {
   $c=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));//随机一个颜色
   imagesetpixel($im,rand(0,$width),rand(0,$height),$c);
   }
   //添加随机干扰线
   for($i=0;$i<5;$i++)
   {
     imageline($im,rand(0,$width),rand(0,$height),rand(0,$width),rand(0,$height),$c);
   }
   //绘制验证码内容
   for($i=0;$i<$num;$i++)
   {
     imagettftext($im,20,rand(-40,40),0+(10*$i),24,$color[rand(0,4)],"c:/windows/fonts/simhei.ttf",$str[$i]);
   }
    imagepng($im);
    imagedestroy($im);
      //获取随机数的函数
   function getCode($m=4,$type=0)
   {
     $str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
     $t=array(9,35,strlen($str)-1);//设置分隔符;
     $c="";
     for($i=0;$i<$m;$i++)
     {
      $c.=$str[rand(0,$t[$type])];
     }
      return $c;
   }
?>
时间: 2024-10-22 07:51:24

php网站验证码的生成的相关文章

ASP.NET MVC实现网站验证码功能

转:http://www.cnblogs.com/liuxiaoji/p/4920382.html 网站添加验证码,主要为防止机器人程序批量注册,或对特定的注册用户用特定程序暴力破解方式,以进行不断的登录.灌水等危害网站的操作.验证码被广泛应用在注册.登录.留言等提交信息到服务器端处理的页面中. 在ASP.NET网站中应用验证码是很容易的,网上有很多的解决方案.最近在做一个OA项目,因系统采用的ASP.NET MVC框架,同样在登录页中需用到验证码,故需将原来在ASP.NET网站中使用的验证码移

Python识别网站验证码

http://drops.wooyun.org/tips/6313 Python识别网站验证码 Manning · 2015/05/28 10:57 0x00 识别涉及技术 验证码识别涉及很多方面的内容.入手难度大,但是入手后,可拓展性又非常广泛,可玩性极强,成就感也很足. 验证码图像处理 验证码图像识别技术主要是操作图片内的像素点,通过对图片的像素点进行一系列的操作,最后输出验证码图像内的每个字符的文本矩阵. 读取图片 图片降噪 图片切割 图像文本输出 验证字符识别 验证码内的字符识别主要以机

ImageUtil(验证码数据生成工具类)

登录界面时,常常会使用到验证码图片生成,程序如下: package util; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.

Asp.Net 生成网站时不生成.pdb文件

Asp.Net默认情况下生成网站发布时,打开Bin文件夹,每个类库会对应生成一个类库名.pdb文件... .pdb是用来放置VS的调试信息的,项目发布后可以删除它. 右键点击类库项目,在属性里.生成,点高级,调试信息默认是 full ,你可以选择成 none,就是不调试.保存就可以了. 原文转载 http://www.dyxue.com/tech/id2547.html Asp.Net 生成网站时不生成.pdb文件,布布扣,bubuko.com

Android开发中验证码的生成

近期在做电商金融类的项目,验证码的生成方法不可缺少.先学习了一种.经过測试好用.从别处学习的代码,稍修改了一下可选择是否支持识别大写和小写.直接上代码. import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; import android.wid

使用tesseract-ocr破解网站验证码

使用tesseract-ocr破解网站验证码 博客分类: 图像识别.机器学习.数据挖掘 GroovyHPGoogleBlog 首先我得承认,关注tesseract-ocr, 是冲着下面这篇文章的噱头去的,26行groovy代码破解网站验证码 http://www.kellyrob99.com/blog/2010/03/14/breaking-weak-captcha-in-slightly-more-than-26-lines-of-groovy-code/ 当然,看了之后才知道,原来是调用了三

thinkphp3.2 验证码的生成和校验,以及遇到的一些问题

已经自学了三个月的php了,感觉好像什么都了解了一点,又还是什么都不会.归根结底还是不怎么总结和做记录的原因吧   每天都会遇到问题,有时候折腾个半天一天的就解决了,时间一久又会忘记,碰到相同的问题又是懵比. 相比起学习新的知识,对于之前学过的用过的东西总结我想更为的重要一些吧. 最近利用thinkphp做了一个简单的后台内容管理程序,可以对数据库进行数据的增删改查,可以将midi文件上传,将下载链接保存到数据库中.将数据库中表数据读取生成xml文件 以供 app开发人员调用. 下面是我在做后台

ASP.NET中登陆验证码的生成和输入验证码的验证

一:验证码的生成实现代码 protected void Page_Load(object sender, EventArgs e)    {        string validateCode = CreateValidateCode();//生成验证码         Bitmap bitmap = new Bitmap(imgWidth, imgHeight);//生成Bitmap图像         DisturbBitmap(bitmap); //图像背景         DrewVa

web开发(八)之验证码的生成

验证码的生成: public class CheckImg extends ActionSupport{ @Override public String execute() throws Exception { // TODO Auto-generated method stub int width = 120; int height = 30; // 步骤一 绘制一张内存中图片 BufferedImage bufferedImage = new BufferedImage(width, hei