php极验验证,thinkphp 3.2.3整合 极验验证码验证

现在很多验证都用上了极验验证码,感觉确实比以前的验证要舒服很多~~~下面来看看怎么把它用在Thinkphp(Thinkphp3.2.3)上面吧:

第一步要先上去 极验的官网申请一个 ID KEY!http://www.geetest.com/

第二步 前往https://github.com/GeeTeam/gt-php-sdk 去下载 官方的 Php Demo(Thinkphp用的是PHP嘛!)

b1c4488eb871d5c63740bc3e328dc1c5.png

将 文件夹 lib中的

9e75022bf5cf01fb4eabeee1c782d345.png

名称修改为

d3c6d9244e5ef0de40baed12eb2b9dfa.png

在类上面 加上namespace Org\Util; (当然你也可以不加用其他方式也可以引入,看个人习惯)

复制放在 项目的 Thinkphp Core/Library/Org/Util/下面

目前有三种方式:

方式一(同步引入) 方式二(异步引入) 方法三(带failback功能)

具体代码:看官网的.....

我用的第三种方式(带failback功能)

客户端:

var handler = function (captchaObj) {

captchaObj.appendTo("#captcha");

};

_url = "";

$.ajax({

// 获取id,challenge,success(是否启用failback)

url: _url,

type: "get",

dataType: "json", // 使用jsonp格式

success: function (data) {

initGeetest({

gt: data.gt,

challenge: data.challenge,

product: "float", // 产品形式

offline: !data.success

}, handler);

}

});

异步数据:

//极验客户端验证

public function jiyan () {

//实例化 GeetestLib 申请ID KEY

$GtSdk = new GeetestLib(C("CAPTCHA_ID"), C("PRIVATE_KEY"));

//ID 因为pre_process 方法的ID默认为NULL 所有ID可以无

$user_id = md5(md5("xuanxuan"));

//获取ID Key数据

$status = $GtSdk->pre_process($user_id);

$_SESSION['gtserver'] = $status;

$_SESSION['user_id'] = $user_id;

echo $GtSdk->get_response_str();

//返回Json

//$this->ajaxReturn($GtSdk->get_response_str());

}

服务端:

先引入:use Org\Util\Geetestlib;

//极验验证

$GtSdk = new GeetestLib(C("CAPTCHA_ID"), C("PRIVATE_KEY"));

$user_id = $_SESSION['user_id'];

if ($_SESSION['gtserver'] == 1) {

$result = $GtSdk->sucess_validate($_POST['geetest_challenge'], $_POST['geetest_validate'], $_POST['geetest_seccode'], $user_id);

if (!$result) {

$this->error("客官!验证码错误~~看准点...");

}

}else{

if (!$GtSdk->fail_validate($_POST['geetest_challenge'],$_POST['geetest_validate'],$_POST['geetest_seccode'])) {

$this->error("客官!验证码错误~~看准点...");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值