使用原生PHP,仿12306点图验证码

浏览:1597 发布日期:2018/03/23 分类:功能实现 关键字: 仿12306点图验证码
PHP+JQ实现仿12306点图验证码


本插件的验证码类已经封装到class中,不带数据库操作,

生成验证码的demo使用模型model读取图库,有需要对接框架的朋友可以自己修改,如下:<?php
# 引入测试的数据库model
require_once dirname(__FILE__).'/Model.php';
# 引入验证码核心类库
require_once dirname(dirname(__FILE__)).'/vendor/Vif.php';

$model = new Model('vif_type');
# 1、先获得随机出来的分类
$find  = $model->order('rand()')->find();
# 2、根据随机分类,获得指定数量的图片,你想几张都可以,越多越安全
$num   = 4;
$model = new Model('vif_img');
$yes_list  = $model->field('vi_id, vi_url')->where('vt_id = '.$find['vt_id'])->order('rand()')->limit($num)->select();
# 3、再随机,获得4张除了指定分类外的其他图片
$no_list  = $model->field('vi_id, vi_url')->where('vt_id != '.$find['vt_id'])->order('rand()')->limit($num)->select();

$obj = new Vif();
# 4、调用验证码类库:将两组图片随机打乱合并成一组新数据
$img_list = $obj->MergeImg($yes_list, $no_list, $find['vt_title']);

echo $img_list;
验证码核验的代码如下:<?php
# 引入验证码核心类库
require_once dirname(dirname(__FILE__)).'/vendor/Vif.php';
$vif = $_POST['id'];

$obj = new Vif();
# 4、调用验证码类库:验证是否正确
$res= $obj->VifResult($vif);

echo $res;
演示地址:https://www.junphp.com/demo/2/index.html
下载地址:https://www.junphp.com/xiazai/nr/id/203.html
评论( 相关
后面还有条评论,点击查看>>