使用php在服务器端生成图文验证码
图文验证码的实现原理:
1):准备些许图片将其存储在数据库,每一张图片对应一个标识字段。
2):在服务器端使用数组的形式将图片与标识字段组合起来。
3):随机给客户端返回图片,并接受用户输入的字段。
4):将用户输入的字段与服务器存储的与每张图片的信息进行比对。
5):相同则通过,否则不通过。
a)第一步生成验证码
createCode.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<?php header( "content-type:text/html;charset=utf-8" ); session_start(); //开启服务器 存储 $table = array ( 'pic0' => "猫" , 'pic1' => '狗' , 'pic2' => '猴' , 'pic3' => '鱼' ); $index =rand(0,3); //生成随机数 $value = $table [ 'pic' . $index ]; //取出随机值 $_SESSION [ 'authcode' ]= $value ; //将值存储在服务器端 $filename =dirname( __FILE__ ). '\\pic' . $index . '.jpg' ; //给出文件的地址 $content = file_get_contents ( $filename ); //读取文件的内容 ob_clean(); //清除缓存 header( "content-type:image/jpg" ); //规定以jpg的形式输出图片 echo $contents ; //输出图片文件 ?> |
b)使用验证码
useCode.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php header( "content-type:text/html;charset=utf-8" ); if (isset( $_REQUEST [ "authcode" ])){ session_start(); if ( $_SESSION [ 'authcode' ]== $_REQUEST [ 'authcode' ]){ //$_REQUEST['authcode']..获取输入框的值 echo "<font>验证通过</font>" ; } else { echo "<font>验证失败</font>" ; } exit (); } ?> |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<! DOCTYPE html> < html > < head > < meta charset="utf-8"> < title >验证码正确</ title > </ head > </ html > < body > < form action="useCode.php"> < p >验证码图片: < img src="createCode.php?=<?php echo rand();?> onclick="this.src='createCode.php?+<? php rand(0,200)?>'" alt="" "> </ p > < p >输入验证码的内容: < input type="text" name="authcode" value=""> </ p > < p > < input type="submit" value="提交"> </ p > </ form > </ body > |
事实截图:
使用php在服务器端生成图文验证码的更多相关文章
- 使用php在服务器端生成图文验证码(二)
图文验证码的实现原理: 1):准备些许图片将其存储在数据库,每一张图片对应一个标识字段. 2):在服务器端使用数组的形式将图片与标识字段组合起来. 3):随机给客户端返回图片,并接受用户输入的字段. ...
- Vcode的生成工具类,生成制定长度验证码,图文验证码工具类
public class VCodeUtils { // 使用到Algerian字体,系统里没有的话需要安装字体,字体只显示大写,去掉了1,0,i,o几个容易混淆的字符 public static f ...
- 【Java】生成图形验证码
本章介绍一个能生成比较好看的图形验证码类 生成验证码工具类 package com.util; import java.awt.Color; import java.awt.Font; import ...
- php生成动态验证码 加减算法验证码 简单验证码
预览效果: <?php /** *ImageCode 生成包含验证码的GIF图片的函数 *@param $string 字符串 *@param $width 宽度 *@param $height ...
- Java生成随机验证码
package com.tg.snail.core.util; import java.awt.Color; import java.awt.Font; import java.awt.Graphic ...
- PHP利用jquery生成各种验证码和Ajax验证
PHP生成验证码图片 PHP生成验证码的原理:使用PHP的GD库,生成一张带验证码的图片,并将验证码保存在Session中.PHP 生成验证码的大致流程有: .产生一张png的图片: .为图片设置背景 ...
- php生成动态验证码
<?php/*调用示例*/session_start();$checkCode='';$chars='abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPRSTUVWXYZ ...
- C#生成图形验证码
先看效果: 再上代码 public class CaptchaHelper { private static Random rand = new Random(); private static in ...
- iOS 生成本地验证码
在应用程序注册.登陆或者有关支付确认的界面,经常会用到验证码,验证码有的是通过手机发送获取的,有的是在本地点击获取的,通过手机发送获取的动态验证码可以使用第三方类库实现,本地点击获取的是在本地自己绘制 ...
随机推荐
- 【linux高级程序设计】(第十一章)System V进程间通信 2
消息队列 消息队列是消息的链式队列,模型如下: 包括两种数据结构: msqid_ds消息队列数据结构 msg消息队列数据结构 struct msg_msg{ struct list_head m_li ...
- Appium+python自动化6-Remote远程控制【转载】
前言 在第三篇启动app的时候有这样一行代码driver = webdriver.Remote('http://192.168.1.1:4723/wd/hub', desired_caps),很多小伙 ...
- centos6源码编译安装lnmp环境
操作系统 版本 64位 CentOS-6.6 10.0.0.20 安装环境所需依赖包 yum -y install gcc automake autoconf libtool make gcc- ...
- Python的网络编程[6] -> Modbus 协议 -> Modbus 的基本理论与 Python 实现
Modbus协议 / Modbus Protocol 目录 Modbus 协议简介 Modbus RTU协议 Modbus TCP协议与 Python 实现 Modbus 功能码 Modbus TCP ...
- #424 Div2 C
#424 Div2 C 题意 给出 k 个分数,初始分数未知,按顺序把这 k 个分数加到初始分数上,已知 n 个加入分数后的结果(无序),问初始分数有多少种可能. 分析 也就是说这 n 个结果,它们之 ...
- #423 Div2 C
#423 Div2 C 题意 给出 n 个字符串以及他们在 S 串中出现的位置,求字典序最小的 S 串.保证给出的字符串不会冲突. 分析 模拟就好.用并查集思想优化,数组 nxt[i] 表示从 i 开 ...
- SQL 连表更新
现在数据如下: 需求如下: 要求 更新 Earnings 表中的Earnings字段 当 Table_2 KPI 大于等于1时 Earinings = KPI* 2000,否则等于 KPI* 1500 ...
- 线程同步-CountDownLatch
应用场景: 有一个任务想要往下执行,但必须要等到其他的任务执行完毕后才可以继续往下执行. 假如我们这个想要继续往下执行的任务调用一个CountDownLatch对象的await()方法,其他的任务执行 ...
- superobject使用方法
superobject使用方法 ISuperObject.AsObject 可获取一个 TSuperTableString 对象. TSuperTableString 的常用属性: count.Get ...
- 手动删除SVCH0ST.EXE的方法
最近几天在办公室的计算机上又发现了一种病毒,在进程管理器中多出了两个进程:SVCH0ST.EXE.IEXPLORE.EXE,经一番查看揭开了它们的真面目,现将清除这种病毒的方法总结如下: 病毒 ...