极验验证

 1.在composer.json   ->"autoload": {
        "classmap": [  引入    "vendor/geetest"

geetest文件夹中放置下边的类文件

.

 2.在cmd命令行中进入项目根目录,然后输入命令 composer dump-autoload(进入项目  输入 composer  找到 dump-autoload)

3.然后获取极验验证的Id  和key 在 config的app.php配置

 //行为验证码配置
    'GEE_ID'  =>  '8e2********3ab66',
    'GEE_KEY' =>  '0355********4d2',

html代码


<div id="embed-captcha" style="text-align:center">正在加载验证码......</div>
引入js文件和jQuery文件
<script src="/home/js/jQuery.1.8.2.min.js"></script>
<script src="/home/js/gt.js"></script>

<script>

    var handlerEmbed = function (captchaObj) {
        // 将验证码加到id为captcha的元素里,同时会有三个input的值:geetest_challenge, geetest_validate, geetest_seccode
        captchaObj.appendTo("#embed-captcha");
        captchaObj.onReady(function () {
            $("#embed-captcha").empty();
        });
    };

    function geetest(){
        $.ajax({
            // 获取id,challenge,success(是否启用failback)
            url: "{{url('test/geetest')}}" + "/"+Math.random(), // 加随机数防止缓存
            type: "get",
            dataType: "json",
            success: function (data) {
                //console.log(data);
                // 使用initGeetest接口
                // 参数1:配置参数
                // 参数2:回调,回调的第一个参数验证码对象,之后可以使用它做appendTo之类的事件
                initGeetest({
                    gt: data.gt,
                    challenge: data.challenge,
                    new_captcha: data.new_captcha,
                    width:'260px',
                    product: "embed", // 产品形式,包括:float,embed,popup。注意只对PC版验证码有效
                    offline: !data.success // 表示用户后台检测极验服务器是否宕机,一般不需要关注
                }, handlerEmbed);
            }
        })
    }

    geetest();

 php代码

//生成极验验证码
    public function geetest($id){
        //实例化并传入极验id与key值
        $GtSdk = new \GeetestLib(config('app.GEE_ID'), config('app.GEE_KEY'));
        $user_id = "web";
        $status = $GtSdk->pre_process($user_id);
        $data = array(
            'gtserver'=>$status,
            'user_id'=>$user_id
        );
        session(['geetest'=>$data]);
        echo $GtSdk->get_response_str();
    }

猜你喜欢

转载自blog.csdn.net/weixin_43310339/article/details/85088584
今日推荐