php绘图应用之验证码

在绘图里面,就像之前所说的,php的绘图是真正动态绘图,虽然自己承认会出的图是很不好看的,但我们主要关注的应该还是数据处理。

验证码我们几乎无处不见,它的产生和绘图技术是密不可分的,其实,简单的验证码绘制出来是很简单的,就像下面的一段代码就可以绘制出包含字母和数字的元素:

<?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);
?>
时间: 2024-10-04 19:39:50

php绘图应用之验证码的相关文章

PHP利用GD库绘图和生成验证码图片

首先得确定php.ini设置有没有打开GD扩展功能,測试例如以下 print_r(gd_info()); 假设有打印出内容例如以下,则说明GD功能有打开: Array ( [GD Version] => bundled (2.0.34 compatible) [FreeType Support] => 1 [FreeType Linkage] => with freetype [T1Lib Support] => 1 [GIF Read Support] => 1 [GIF

利用PHP绘图函数实现简单验证码功能

index.php __________________________________________________________________________________________________________________________ <?php//===================================>>使用绘图技术绘制验证码 //1.随机产生4个随机数$checkCode="";for ($i=0;$i<4;$i

php教程下载

 一套比较全面的php教程,基础视频及一些小的实战项目,下面是视频目录 光盘(一)\php就业班(上)光盘(一)\PHP技术交流专区.url光盘(一)\<传智特刊>属于IT学子的杂志光盘(一)\<程序员的奋斗>.mov光盘(一)\传智播客PHP面试宝典2013版(上卷基础篇).pdf光盘(一)\传智播客PHP面试宝典2013版(下卷高级篇).pdf光盘(一)\微电影<青春代码>--IT男为爱做黑客  青春无悔.mov光盘(一)\有问题就找IT问答精灵.url光盘(一)\

php视频全面基础学习

给大家推荐一个php教程下面是php教程目录,有感兴趣的可以看看 光盘(一)\php基础班\传智播客_韩顺平_php从入门到精通 视频教程 第001讲 html介绍 html运行原理①.wmv光盘(一)\php基础班\传智播客_韩顺平_php从入门到精通 视频教程 第002讲 html运行原理② html文件基本结构 html元素和属性.wmv光盘(一)\php基础班\传智播客_韩顺平_php从入门到精通 视频教程 第003讲 符号实体 url说明 超链接 发送电邮.wmv光盘(一)\php基础

Cookie技术2

如何实现一个服务器一个session为一个用户服务的/ 为什么要验证码? 原理(java的绘图技术) 验证码: package com.dalao; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random; import javax.i

【PHP绘图技术&amp;&amp;验证码绘制】

PHP绘图是比较简单的事情,基本绘图如直线.圆.矩形.弧线.填充矩形.填充扇形.非中文字的打印.中文文字的打印在在下面的代码中会纤细讲解. 需要支持中文的字体,可以到windows自带的字体库中找,并复制到当前目录,改名为font.ttf 1 <?php 2 //1.创建画布 3 $im=imagecreatetruecolor(500,400); 4 //2.创建一个颜色 5 $red=imagecolorallocate($im,0,255,0); 6 //画圆 7 imageellipse

GDI+ 绘图教程 验证码

使用的 C# winform using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace GDI_ { publ

Java Web(四) 一次性验证码的代码实现

其实实现代码的逻辑非常简单,真的超级超级简单. 1.在登录页面上login.jsp将验证码图片使用标签<img src="xxx">将绘制验证码图片的url给它 2.在服务器端就两个servlet,一个就是用来绘制验证码图片的VerifyCodeServlet,另一个就是登录时验证验证码是否点写正确或是否重复提交的LoginServlet 3.在VerifyCodeServlet中,将验证码的四个字母存入session中,然后在LoginServlet中,将请求中提交过来的

c# 验证码类

using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.IO; using System.Text; using System.Web; namespace Demo { /// <summary> /// Captcha /// </summary> public class Captcha { #region Pr