php画图应用之验证码
在画图里面,就像之前所说的。php的画图是真正动态画图,尽管自己承认会出的图是非常不好看的。但我们主要关注的应该还是数据处理。
验证码我们差点儿无处不见,它的产生和画图技术是密不可分的。事实上,简单的验证码绘制出来是非常easy的,就像以下的一段代码就能够绘制出包括字母和数字的元素:
<?php
$checkCode="";
for($i=0; $i<=3;$i++){
$checkCode.=dechex(rand(1,15));
}
session_start();
$_SESSION['checkCode']=$checkCode;
//建立画布
$img_1=imagecreatetruecolor(110, 30);
$red=imagecolorallocate($img_1, 255, 0, 0);
imagestring($img_1, 5, 0, 0, $checkCode, $red);
header("Content-type: image/png");
imagepng($img_1);
imagedestroy($img_1);
? >
上面的代码仅仅是简单的说了一下验证码的绘制。事实上代码方面并没有进行安全处理。
以下是相对的把验证码处理的相对复杂了一些:
<?php
$checkCode="";
for($i=0; $i<=3;$i++){
$checkCode.=dechex(rand(1,15));
}
session_start();
$_SESSION['checkCode']=$checkCode;
//建立画布
$img_1=imagecreatetruecolor(70, 40);
//必须是先创建画布。在创建颜色。
$red=imagecolorallocate($img_1, rand(0,255), rand(0,255), rand(0,255)); for($k=0; $k<=20; $k++){
imageline($img_1, rand(0,50),rand(0,30),0,0,0,0, imagecolorallocate($img_1, rand(0,255), rand(0,255), rand(0,255)));
}
imagestring($img_1, rand(3,7), rand(0,40), rand(0,20), $checkCode, $red);
header("Content-type: image/png");
imagepng($img_1);
imagedestroy($img_1);
?>
php画图应用之验证码的更多相关文章
- php笔记之GD库图片创建/简单验证码
燕十八 公益PHP培训 课堂地址:YY频道88354001 学习社区:www.zixue.it php画图:比如说验证码,缩略图,加水印都要用到GD库,所以要开启gd2库,才能用 首先找到php.in ...
- .net点选验证码实现思路分享
哈哈好久没冒泡了,最进看见点选验证码有点意思,所以想自己写一个. 先上效果图 如果你被这个效果吸引了就请继续看下去. 贴代码前先说点思路: 1.要有一个汉字库,并按字形分类.(我在数据库里是安部首分类 ...
- ASP.NET中画图形验证码
context.Response.ContentType = "image/jpeg"; //生成随机的中文验证码 string yzm = "人口手大小多少上中下男女天 ...
- MVC 验证码实现( 简易版)
现在网站上越来越多的验证码,使用场景也是越来越多,登陆.注册.上传.下载...等等地方,都有可能大量使用到验证码,那么制作验证码到底有多简单呢?我们一起来看下最简易版的验证码实现过程- 验证码的基本步 ...
- SSH实战 · SSH项目中怎么玩验证码
大致思路与之前servlet中玩验证码类似,生成随机数,产生干扰线,画到图片上,保存到session中. 本人习惯用的时候专门写一个验证码的action:CheckImgAction. step1: ...
- java制作验证码
建立一个web工程
- php基础之gd图像生成、缩放、logo水印和简单验证码实现
gd库是php最常用的图片处理库之一(另外一个是imagemagick),可以生成图片.验证码.水印.缩略图等等.要使用gd库首先需要开启gd库扩展,windows系统下需要在php.ini中将ext ...
- ASP.NET知识总结(6.一般处理程序动态处理图片(验证码、水印、缩略图))
->使用GDI+完成图片的处理,需要引入程序集System.Drawing ->GDI+的基本处理模型 <1>创建画布Bitmap <2>创建画图工具对象Graph ...
- Java实现验证码制作之一自己动手
以前弄验证码都是现找现用,下面是自己跟着敲代码弄好的,记录一下,分享给大家. 我这里用的是Servlet ,Servlet代码如下 import java.awt.Color;import java. ...
随机推荐
- 概述struts,以及struts如何实现MVC架构的
概述MVC体系结构? 答:MVC包括三类对象,model是应用对象,view是视图,controller是控制器,它定义用户界面对用户输入的响应方式. 在MVC体系中,模型通常被称为”业务逻辑”,是真 ...
- [Contest20180314]数列
数据范围告诉我们要写两档的分 第一档:$M\leq200,N\leq10^9$,可以枚举$m$计算答案 直接矩阵快速幂:$O\left(M^4\log_2N\right)$,会超时,所以我们需要某些“ ...
- 【数论】【快速幂】CODEVS 2952 细胞分裂 2
裸快速幂取模,背诵模板用. #include<cstdio> using namespace std; typedef long long LL; LL n=,m,q; LL Quick_ ...
- (转)Android Eclipse 代码混淆
为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译 1. 大家也许都注意到新建一个工程会看到项目下边有这样proguard-project.txt一个文件,这个对混淆代码很重要,如果你不小心 ...
- DataRow 数组转化成DataTable
#region 封装DataTable DataTable dt = null; if (newRows.Length > 0) { dt = newRows[0].Table.Clone(); ...
- 数据访问与sql语句的管理(一)
在开发过程中数据访问是必不可少的.每个框架都会有自己数据访问机制.大家在一般的情况下会为自己的框架配备2套数据访问机制,ORM和DataHelper.当然,根据项目的需要有时候也可能只一种. 其实这2 ...
- shell基本计算、逻辑运算、位运算详解
转:http://blog.chinaunix.net/uid-8504518-id-3918531.html Shell 提供大量的基本运算操作,在脚本中非常有用.Shell 对您提供的算术表达式求 ...
- SpringMVC——redirect重定向跳转传值
原文:https://my.oschina.net/u/2273085/blog/398374 spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url ...
- kubernetes环境下私有仓库搭建
前期在客户那里搭建了基本运行环境,鉴于很多企业的环境都是内部网无法连接外部,因此搭建私有仓库是逃避不开的问题,按照网上的步骤搭建,虽然遇到一些问题,但还好都算容易解决了,下面大致把步骤记录一下便于下次 ...
- DevExpress.Build
using System.Collections.Generic; using Microsoft.Build.AppxPackage; using Microsoft.Build.Framework ...