zoukankan      html  css  js  c++  java
  • GeeTest 极验验证

    举个简单的例子,登录验证

    1.先引入js库

    <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
    <script src="http://static.geetest.com/static/tools/gt.js"></script>

    2.html代码

    <div style="margin:300px;" >
            <div id="captcha"></div>
            <button type="submit" id="login">Login</button>
    </div>

    3.前端验证

    <script>
        var handler = function (captchaObj) {
            // 将验证码加到id为captcha的元素里
            captchaObj.appendTo("#captcha");
         };
        // 获取验证码
        $.get("{:U('Home/Index/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>

    4.后端验证码生成

        /**
         * geetest生成验证码
         */
        public function geetest_show_verify(){
            $geetest_id=C('GEETEST_ID');
            $geetest_key=C('GEETEST_KEY');
            $geetest=new OrgXbGeetest($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();
        }

    5.调用验证

     if(!geetest_chcek_verify(I('post.'))){
         $this->error('验证码错误');
         die;
    }
  • 相关阅读:
    ie下如果已经有缓存,load方法的效果就无法执行.的解决方法
    css公共样式
    pageX、pageY全兼容
    js滚动加载插件
    getComputedStyle()与currentStyle
    excel15个技巧
    XMLHttpRequest函数
    继承模式
    cookie函数
    jQuery添加删除元素
  • 原文地址:https://www.cnblogs.com/daxian2012/p/9361250.html
Copyright © 2011-2022 走看看