滑动验证码

我这里有一篇帖子,大家可以先看看点击打开链接,不明白的,我在以下,也有自己的心得体会,语言组织的差点,大家见谅,谢谢!


这是一个类似接口的一个东西,需要密钥,我配置到了配置文件中

 //***********************************极验-验证码*************************************
    'GEETEST_ID'             =>  '202c5c99f2cfa8e7a6e295a61c196cf5',                            // id
    'GEETEST_KEY'  =>  '9a6986177bb0deecffaf9812618e3432',                        // key

这样就好了,我们先让他显示出来,当然我想相信很多同学,在上面的链接中,也是可以完成的,就是复制粘贴。
                    <div id="captcha"></div>
<!--                    <div class="input" id="tip_content" style="text-align: center;width:470px;top:190px;color:red;">1111111</div>-->
                    <button  οnclick="sub_index();" type="button" class="btn btn-success btn-block">登录</button> 
引入他的js

<script src="http://static.geetest.com/static/tools/gt.js"></script>
<!--极验验证码start-->
    <script type="text/javascript">
        var handler = function (captchaObj) {
            // 将验证码加到id为captcha的元素里
            captchaObj.appendTo("#captcha");
        };
        // 获取验证码
        $.get("<!--{:U('Site/Reg/geetest_show_verify')}-->",function(data) {
            // 使用initGeetest接口
            // 参数1:配置参数,与创建Geetest实例时接受的参数一致
            // 参数2:回调,回调的第一个参数验证码对象,之后可以使用它做appendTo之类的事件
            initGeetest({
                gt: data.gt,
                challenge: data.challenge,
                product: "float", // 产品形式
                offline: !data.success
            }, handler);
        },'json');
    </script>
然后我们生产验证码

/**
     *  方法名 :geetest_show_verify
     *  作  用 :生产验证码
     * @param :
     * @return:
     * @author:libo
     */
    public function geetest_show_verify(){

        $geetest_id = C('GEETEST_ID');

        $geetest_key=C('GEETEST_KEY');

        $geetest=new \Vendor\validate\Geetest($geetest_id,$geetest_key);

        $user_id = "test";
        $status = $geetest->pre_process($user_id);
        $_SESSION['geetest']=array(
            'gtserver'=>$status,
            'user_id'=>$user_id
        );
        echo $geetest->get_response_str();
    这样基本我们就可以在页面中看到了

然后就是你平时怎么做注册登录的流程!记得认真看上面链接里面的开源代码!

一下是检测验证码是否验证成功代码

  /**
         *  方法名 :geetest_chcek_verify
         *  作  用 :检测验证码
         * @param :* @param $data
         * @return:
         * @author:libo
         */
        function geetest_chcek_verify($data){
            $geetest_id = C('GEETEST_ID');
            $geetest_key=C('GEETEST_KEY');
            $geetest= new \Vendor\validate\Geetest($geetest_id,$geetest_key);
            $user_id=$_SESSION['geetest']['user_id'];
            if ($_SESSION['geetest']['gtserver']==1) {
                $result=$geetest->success_validate($data['geetest_challenge'], $data['geetest_validate'], $data['geetest_seccode'], $user_id);
                if ($result) {
                    return true;
                } else{
                    return false;
                }
            }else{
                if ($geetest->fail_validate($data['geetest_challenge'],$data['geetest_validate'],$data['geetest_seccode'])) {
                    return true;
                }else{
                    return false;
                }
            }
        }


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值