php网站验证码的生成
<?php
header("Content-type:text/html;charset=utf-8");
header("Content-type:image/png");
$num=;
$str=getCode($num,);//获取随机数
$width=$num*;
$height=;
$im=imagecreatetruecolor($width,$height);//创建一个画布
$color[]=imagecolorallocate($im,,,);
$color[]=imagecolorallocate($im,,,);
$color[]=imagecolorallocate($im,,,);
$color[]=imagecolorallocate($im,,,);
$color[]=imagecolorallocate($im,,,);
$bg=imagecolorallocate($im,,,);
//开始绘图
imagefill($im,,,$bg);
imagerectangle($im,,,$width-,$height-,$color); //添加随机干扰点
for($i=;$i<;$i++)
{
$c=imagecolorallocate($im,rand(,),rand(,),rand(,));//随机一个颜色
imagesetpixel($im,rand(,$width),rand(,$height),$c);
}
//添加随机干扰线
for($i=;$i<;$i++)
{
imageline($im,rand(,$width),rand(,$height),rand(,$width),rand(,$height),$c);
}
//绘制验证码内容
for($i=;$i<$num;$i++)
{
imagettftext($im,,rand(-,),+(*$i),,$color[rand(,)],"c:/windows/fonts/simhei.ttf",$str[$i]);
}
imagepng($im);
imagedestroy($im);
//获取随机数的函数
function getCode($m=,$type=)
{
$str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$t=array(,,strlen($str)-);//设置分隔符;
$c="";
for($i=;$i<$m;$i++)
{
$c.=$str[rand(,$t[$type])];
}
return $c;
}
?>
php网站验证码的生成的更多相关文章
- ASP.NET MVC实现网站验证码功能
网站添加验证码,主要为防止机器人程序批量注册,或对特定的注册用户用特定程序暴力破解方式,以进行不断的登录.灌水等危害网站的操作.验证码被广泛应用在注册.登录.留言等提交信息到服务器端处理的页面中. 在 ...
- ImageUtil(验证码数据生成工具类)
登录界面时,常常会使用到验证码图片生成,程序如下: package util; import java.awt.Color; import java.awt.Font; import java.awt ...
- 把验证码和生成时间负值给$_SESSION[vCode]生成图像给浏览器
php 图片 中文验证码 <img src="verify_image.php" alt="点此刷新验证码" name="verify_code ...
- 帝国cms缩略图:网站不同地方生成不同的缩略图
本文转自:http://blog.sina.com.cn/s/blog_4d49ba58010115sd.html 方便网站多地方调用不同尺寸的缩略图. 根据图片源,在网站任意位置生成不同大小的缩略图 ...
- 验证码图片生成工具类——Captcha.java
验证码图片生成工具,使用JAVA生成的图片验证码,调用getRandcode方法获取图片验证码,以流的方式传输到前端页面. 源码如下:(点击下载 Captcha.java) import java. ...
- MVC中验证码的生成
在项目中验证码的生成通常是需要页面无刷新的,所以验证码图片实际是跟在某个input后面的img,通过控制该img来控制验证码显示的位置,例如: <div> <input id=&qu ...
- Android开发中验证码的生成
近期在做电商金融类的项目,验证码的生成方法不可缺少.先学习了一种.经过測试好用.从别处学习的代码,稍修改了一下可选择是否支持识别大写和小写.直接上代码. import android.app.Acti ...
- Python识别网站验证码
http://drops.wooyun.org/tips/6313 Python识别网站验证码 Manning · 2015/05/28 10:57 0x00 识别涉及技术 验证码识别涉及很多方面的内 ...
- python随机图片验证码的生成
Python生成随机验证码,需要使用PIL模块. 安装: 1 pip3 install pillow 基本使用 1. 创建图片 1 2 3 4 5 6 7 8 9 from PIL import Im ...
随机推荐
- http请求过程
想象用浏览器打开imooc.com网站,HTTP走过的环节: 1.首先,是对imooc.com域名解析,(1.1)浏览器搜索浏览器自身的DNS缓存.(DNS(Domain Name System,域名 ...
- 使用SilverLight开发区域地图分析模块
本人最近接收开发一个代码模块,功能主要是在页面上显示安徽省市地图,并且在鼠标移动到地图某市区域时,显示当前区域的各类信息等,一开始准备用百度地图,高德地图等地图工具进行开发,最后发现都不适合进行此类开 ...
- 使用JQuery能做什么(zz)
jQuery库为Web脚本编程提供了通用(跨浏览器)的抽象层,使得它几乎适用于任何脚本编程的情形.jQuery通常能为我们提供以下功能: 1.方便快捷获取DOM元素 如果使用纯JavaScript的方 ...
- 20155224聂小益 - 我的技能与C语言学习
20155224聂小益 - 我的技能与C语言学习 预备作业2 ● 你有什么技能比大多人(超过90%以上)更好? 我认为我可能有些技能身边有的人比较少有,但是要是超过90%以上我实在不敢保证.毕竟厉害的 ...
- 浩瀚先森(guohao1206.com)
博客搬家啦,新博客地址:浩瀚先森 http://www.guohao1206.com
- 详解 ManualResetEvent
今天详细说一下ManualResetEvent 它可以通知一个或多个正在等待的线程已发生事件,允许线程通过发信号互相通信,来控制线程是否可心访问资源 当一个线程开始一个活动(此活动必须完成后,其他线程 ...
- Thrift搭建分布式微服务(一)
一.Thrift是什么? 关于Thrift的基本介绍,参看张善友的文章Thrift简介. 二.为什么使用微服务? 在公司的高速发展过程中,随着业务的增长,子系统越来越多.各系统间又不同程度的在某些逻辑 ...
- nth-child() 选择器
给tabel tb1 td添加样式 #tb1 tr td:nth-child(2n+1) {/*奇数行样式*/ } #tb1 tr td:nth-child(2n) {/*偶数行样式*/ }
- ListView 和 Adapter用法
一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView就是实现这个功能的.第二点也不难做到,在后面的学习中读者会发现,这非常 ...
- 2016 版 Laravel 系列入门教程(一)【最适合中国人的 Laravel 教程】
本教程示例代码见: https://github.com/johnlui/Learn-Laravel-5 在任何地方卡住,最快的办法就是去看示例代码. 本文基于 Laravel 5.2 版本,无奈 5 ...