background image

PHP 生成图片验证码

php 生成图形验证码需要借助于 php gd 库与 session 来实例,这样由 gd 库生成图片给用户看,
再由用户输入验证提交给服务器与

session 中存储值进行验证。

windows 系统 GD 库开启

php.ini 文件找到 extension=php_gd2.dll  去掉前面的;就行了

linux 系统 GD 库开启
##检测 GD 库是否安装命令
 php5 -m | grep -i gd
 或者
 php -i | grep -i --color gd
##如未安装 GD 库,则为服务器安装,方法如下
### 如果是源码安装,则加入参数
 --with-gd
### 如果是 debian 系的 linux 系统,用 apt-get 安装,如下
 apt-get install php5-gd
### 如果是 CentOS 系的系统,用 yum 安装,如下
 yum install php-gd
### 如果是 suse 系的 linux 系统,用 yast 安装,如下
 yast -i php5_gd
好了,

php GD 库己经好了下面我们来看 php 生成图形验证码图片实例

首先还是给大家先介绍一下验证码的简单概念吧!

1 、验证码介绍
验证码是将一串随机产生的数字或符号以图片的形式展现在页面上

,由用户肉眼识别其中的

验证码信息

,在进行提交操作的同时,需将图片上的字符同时提交,输入提交验证成功后才能

使用某项功能。如果提交的字符与服务器

 session 保存的不同,则认为提交信息无效。为了避

免自动程序分析解析图片

,通常会在图片上随机生成一些干扰素或者将字符进行扭曲,增加自

动识别难度。用户提交后将用户输入的验证码与会话

 sessi on 中保存的字符串进行比对, 达

到验证的效果。用户提交表单的时候

,接收表单的页面检查服务端产生的 sessi on 和客户端提

交的表单值是否一致

,不

一致则不读或写入数据库。会话

 sessi on 允许在服务器上储存小部分用户信息;这类信息是临

时性的

,当用户离开网站时会被自动删除。

2、 PHP 实现过程
PHP 网页文件被当作一般 HTML 网页文件来处理, 并且在编辑时,可以用编辑 HTML 的常规
方法来编写。由于

PHP 在使用时消耗相当少的系统资源, 并且有着开放的源代码, 而且是免

费的

,如今 PHP 已经被更多的网站应用,下面是 PHP 实现验证码的过程:

1)生成随机数

定义用来显示在图片上的数字和字母;

循环随机抽取四位定义好的字母和数字;